use xmlrpcprotocol instead of geniclient
[sfa.git] / sfa / server / sfa-clean-peer-records.py
index fbf3b68..358aee2 100644 (file)
@@ -2,15 +2,16 @@
 
 import sys
 import os
-from sfa.util.misc import *
+import traceback
+from sfa.util.namespace import *
 from sfa.util.genitable import GeniTable
-from sfa.util.geniclient import GeniClient
 from sfa.plc.api import GeniAPI
 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 ServerException
+from sfa.util.xmlrpcprotocol import xmlrpcprotocol, ServerException
 import socket
 
 def main():
@@ -24,19 +25,19 @@ def main():
     sfa_key_path = sfa_hierarchy.basedir
     key_file = os.path.join(sfa_key_path, "server.key")
     cert_file = os.path.join(sfa_key_path, "server.cert")
+    key = Keypair(filename=key_file) 
 
     # get a connection to our local sfa registry
     # and a valid credential
     authority = config.SFA_INTERFACE_HRN
     url = 'http://%s:%s/' %(config.SFA_REGISTRY_HOST, config.SFA_REGISTRY_PORT)
-    registry = GeniClient(url, key_file, cert_file)
+    registry = xmlrpcprotocol.get_server((url, key_file, cert_file)
     sfa_api = GeniAPI(key_file = key_file, cert_file = cert_file, interface='registry')
     credential = sfa_api.getCredential()
 
     # get peer registries
     registries = Registries(sfa_api)
 
-
     # get local peer records
     table = GeniTable()
     peer_records = table.find({'~peer_authority': None})
@@ -44,12 +45,14 @@ def main():
         peer_auth = peer_record['peer_authority']
         if peer_auth in registries:
             try:
-                records = registries[peer_auth].resolve(credential, peer_record['hrn'])
-            except ServerException:    
+                peer_record_hrn = peer_record['hrn']
+                arg_list = [credential, peer_record_hrn]
+                records = registries[peer_auth].resolve(credential, peer_record_hrn)
+            except ServerException:
                 # an exception will be thrown if the record doenst exist
                 # if so remove the record from the local registry
                 registries[sfa_api.hrn].remove_peer_object(credential, peer_record)
-            except:    
-               pass
+            except:
+                traceback.print_exc()
 if __name__ == '__main__':
     main()