X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplc%2FsfaImport.py;h=f429ceeb1f1fabf99181f006b2e4d0906570d447;hb=4b2e86d099a60df5fb6b9732c080a3d10512c029;hp=79255210b69a9c6dac09b7096dcf515f8ca80a09;hpb=0766ddc71af955bb2529bc839094aea26da4190c;p=sfa.git diff --git a/sfa/plc/sfaImport.py b/sfa/plc/sfaImport.py index 79255210..f429ceeb 100644 --- a/sfa/plc/sfaImport.py +++ b/sfa/plc/sfaImport.py @@ -52,9 +52,8 @@ class sfaImport: def __init__(self): self.AuthHierarchy = Hierarchy() - self.TrustedRoots = TrustedRootList() - self.config = Config() + self.TrustedRoots = TrustedRootList(Config.get_trustedroots_dir(self.config)) self.plc_auth = self.config.get_plc_auth() self.root_auth = self.config.SFA_REGISTRY_ROOT_AUTH self.level1_auth = self.config.SFA_REGISTRY_LEVEL1_AUTH @@ -95,6 +94,7 @@ class sfaImport: if not auth_record: auth_record = GeniRecord(hrn=hrn, gid=auth_info.get_gid_object(), type="authority", pointer=-1) + auth_record['authority'] = get_authority(auth_record['hrn']) trace(" inserting authority record for " + hrn) table.insert(auth_record) @@ -129,11 +129,13 @@ class sfaImport: person_gid = AuthHierarchy.create_gid(hrn, create_uuid(), pkey) table = GeniTable() person_record = GeniRecord(hrn=hrn, gid=person_gid, type="user", pointer=person['person_id']) - try: + person_record['authority'] = get_authority(person_record['hrn']) + existing_records = table.find({'hrn': hrn, 'type': 'user', 'pointer': person['person_id']}) + if not existing_records: table.insert(person_record) - except: + else: trace("Import: %s exists, updating " % hrn) - existing_record = table.find(person_record) + existing_record = existing_records[0] person_record['record_id'] = existing_record['record_id'] table.update(person_record) @@ -152,12 +154,14 @@ class sfaImport: pkey = Keypair(create=True) slice_gid = AuthHierarchy.create_gid(hrn, create_uuid(), pkey) slice_record = GeniRecord(hrn=hrn, gid=slice_gid, type="slice", pointer=slice['slice_id']) + slice_record['authority'] = get_authority(slice_record['hrn']) table = GeniTable() - try: + existing_records = table.find({'hrn': hrn, 'type': 'slice', 'pointer': slice['slice_id']}) + if not existing_records: table.insert(slice_record) - except: + else: trace("Import: %s exists, updating " % hrn) - existing_record = table.find(slice_record) + existing_record = existing_records[0] slice_record['record_id'] = existing_record['record_id'] table.update(slice_record) @@ -181,11 +185,13 @@ class sfaImport: pkey = Keypair(create=True) node_gid = AuthHierarchy.create_gid(hrn, create_uuid(), pkey) node_record = GeniRecord(hrn=hrn, gid=node_gid, type="node", pointer=node['node_id']) - try: + node_record['authority'] = get_authority(node_record['hrn']) + existing_records = table.find({'hrn': hrn, 'type': 'node', 'pointer': node['node_id']}) + if not existing_records: table.insert(node_record) - except: + else: trace("Import: %s exists, updating " % hrn) - existing_record = table.find(node_record) + existing_record = existing_records[0] node_record['record_id'] = existing_record['record_id'] table.update(node_record) @@ -220,11 +226,13 @@ class sfaImport: table = GeniTable() auth_record = GeniRecord(hrn=hrn, gid=auth_info.get_gid_object(), type="authority", pointer=site['site_id']) - try: + auth_record['authority'] = get_authority(auth_record['hrn']) + existing_records = table.find({'hrn': hrn, 'type': 'authority', 'pointer': site['site_id']}) + if not existing_records: table.insert(auth_record) - except: + else: trace("Import: %s exists, updating " % hrn) - existing_record = table.find(auth_record) + existing_record = existing_record[0] auth_record['record_id'] = existing_record['record_id'] table.update(auth_record)