From: Claudio-Daniel Freire Date: Sun, 18 Sep 2011 23:11:40 +0000 (+0200) Subject: Fix in node rating X-Git-Tag: nepi-3.0.0~231 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=ae3b856803666766e1087e95ac081e1555648fe1;p=nepi.git Fix in node rating --- diff --git a/src/nepi/testbeds/planetlab/node.py b/src/nepi/testbeds/planetlab/node.py index b9a7d09f..c6ef6aa5 100644 --- a/src/nepi/testbeds/planetlab/node.py +++ b/src/nepi/testbeds/planetlab/node.py @@ -336,11 +336,14 @@ class Node(object): tagname=tagnames, fields=('node_id','tagname','value')) - for node, tagname, value in taginfo: - tags[tagname][int(node)] = float(value) + unpack = operator.itemgetter('node_id','tagname','value') + for value in taginfo: + node, tagname, value = unpack(value) + if value and value.lower() != 'n/a': + tags[tagname][int(node)] = float(value) for tagname, weight, default in self.RATE_FACTORS: - taginfo = tags[tagname].get + taginfo = tags[tagname % replacements].get for node in nodes: rates[node] += weight * taginfo(node,default) @@ -372,6 +375,8 @@ class Node(object): value = tags[tag] if hasattr(self, attr): orig_attrs[attr] = getattr(self, attr) + if not value or value.lower() == 'n/a': + value = None setattr(self, attr, value) if 'peer_id' in info: