From 0999d4ba20b5f16f9e30c4fb97c01ff5c0b5d295 Mon Sep 17 00:00:00 2001 From: "ahrenholz@gmail.com" Date: Tue, 3 Dec 2013 19:48:06 +0000 Subject: [PATCH] fix error with EMANE CommEffect model with loss/duplicate % string values (Boeing r1800) --- trunk/daemon/core/emane/commeffect.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/trunk/daemon/core/emane/commeffect.py b/trunk/daemon/core/emane/commeffect.py index 3b1bc140..6244681b 100755 --- a/trunk/daemon/core/emane/commeffect.py +++ b/trunk/daemon/core/emane/commeffect.py @@ -23,13 +23,6 @@ try: except Exception, e: pass -def z(x): - ''' Helper to use 0 for None values. ''' - if x is None: - return 0 - else: - return x - class EmaneCommEffectModel(EmaneModel): def __init__(self, session, objid = None, verbose = False): EmaneModel.__init__(self, session, objid, verbose) @@ -96,7 +89,16 @@ class EmaneCommEffectModel(EmaneModel): loss = None, duplicate = None, jitter = None, netif2 = None): ''' Generate CommEffect events when a Link Message is received having link parameters. - ''' + ''' + def z(x): + ''' Helper to use 0 for None values. ''' + if type(x) is str: + x = float(x) + if x is None: + return 0 + else: + return int(x) + service = self.session.emane.service if service is None: self.session.warn("%s: EMANE event service unavailable" % \ @@ -106,6 +108,7 @@ class EmaneCommEffectModel(EmaneModel): self.session.warn("%s: missing NEM information" % self._name) return # TODO: batch these into multiple events per transmission + # TODO: may want to split out seconds portion of delay and jitter event = emaneeventcommeffect.EventCommEffect(1) index = 0 e = self.session.obj(self.objid)