fix GetPeerData()
[plcapi.git] / PLC / Methods / GetPeerData.py
index aff8f88..86193d0 100644 (file)
@@ -47,8 +47,11 @@ class GetPeerData(Method):
         # Filter out various secrets
         node_fields = [ field for field in Node.fields if field \
                             not in ['boot_nonce', 'key', 'session', 'root_person_ids']]
-        node_fields += ['hrn']
-        nodes = Nodes(self.api, {'peer_id': None}, node_fields);
+        try:
+            node_fields += ['hrn']
+            nodes = Nodes(self.api, {'peer_id': None}, node_fields)
+        except:
+            nodes = Nodes(self.api, {'peer_id': None}, node_fields)
         # filter out whitelisted nodes
         nodes = [ n for n in nodes if not n['slice_ids_whitelist']]
 
@@ -56,12 +59,13 @@ class GetPeerData(Method):
         person_fields = [ field for field in Person.fields if field \
                               not in ['password', 'verification_key', 'verification_expires']]
 
-        site_fields = Site.fields
-        slice_fields = Slice.fields
+        site_fields = [field for field in Site.fields]
+        slice_fields = [field for field in Slice.fields]
+
         try:
             person_fields += ['sfa_created','hrn']
             site_fields += ['sfa_created','hrn']
-            slice_fields +=['sfa_created','hrn']
+            slice_fields += ['sfa_created','hrn']
         
             # XXX Optimize to return only those Persons, Keys, and Slices
             # necessary for slice creation on the calling peer's nodes.