From ae3b856803666766e1087e95ac081e1555648fe1 Mon Sep 17 00:00:00 2001
From: Claudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Date: Mon, 19 Sep 2011 01:11:40 +0200
Subject: [PATCH] Fix in node rating

---
 src/nepi/testbeds/planetlab/node.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

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:
-- 
2.47.0