sfadump more usable
[sfa.git] / sfa / server / sfa-clean-peer-records.py
index 18e13e3..f821f4c 100644 (file)
@@ -3,16 +3,14 @@
 import sys
 import os
 import traceback
-from sfa.util.namespace import *
 from sfa.util.table import SfaTable
 from sfa.util.prefixTree import prefixTree
 from sfa.plc.api import SfaAPI
 from sfa.util.config import Config
 from sfa.trust.certificate import Keypair
 from sfa.trust.hierarchy import Hierarchy
-from sfa.util.report import trace, error
 from sfa.server.registry import Registries
-from sfa.util.xmlrpcprotocol import *
+import sfa.util.xmlrpcprotocol as xmlrpcprotocol 
 import socket
 
 def main():
@@ -58,15 +56,22 @@ def main():
             records = []
             target_hrns = hrn_dict[registry_hrn]    
             try:
-                records = registries[registry_hrn].resolve(credential, target_hrns)
+                records = registries[registry_hrn].Resolve(target_hrns, credential)
                 found_records.extend([record['hrn'] for record in records])
+            except ServerException:
+                # an exception will be thrown if the record doenst exist
+                # if so remove the record from the local registry
+                continue
             except:
+                # this deosnt necessarily mean the records dont exist
+                # lets give them the benefit of the doubt here (for now)
+                found_records.extend(target_hrns)
                 traceback.print_exc()
 
     # remove what wasnt found 
     for peer_record in peer_records:
         if peer_record['hrn'] not in found_records:
-            registries[sfa_api.hrn].remove(credential, peer_record)
+            registries[sfa_api.hrn].Remove(peer_record['hrn'], credential, peer_record['type'])
                 
 if __name__ == '__main__':
     main()