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():
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()