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
 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.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.server.registry import Registries
-from sfa.util.xmlrpcprotocol import *
+import sfa.util.xmlrpcprotocol as xmlrpcprotocol 
 import socket
 
 def main():
 import socket
 
 def main():
@@ -58,15 +56,22 @@ def main():
             records = []
             target_hrns = hrn_dict[registry_hrn]    
             try:
             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])
                 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:
             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:
                 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()
                 
 if __name__ == '__main__':
     main()