X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fregistry_manager.py;h=46a45bd8e5d3f55d6a1320edf44db529361fce1a;hb=5f5f29e2bc00befe5b7b601806ef5a7e44349b75;hp=8c012adbe44521a8599a03bf2b4f8ba76e65b498;hpb=d3d1e577918bd1fa0a89a56bd65a049e107fc508;p=sfa.git diff --git a/sfa/managers/registry_manager.py b/sfa/managers/registry_manager.py index 8c012adb..46a45bd8 100644 --- a/sfa/managers/registry_manager.py +++ b/sfa/managers/registry_manager.py @@ -155,7 +155,7 @@ class RegistryManager: local_records = dbsession.query(RegRecord).filter(RegRecord.hrn.in_(local_hrns)) if type: local_records = local_records.filter_by(type=type) - local_records=local_records.all() + local_records=local_records.all() for local_record in local_records: augment_with_sfa_builtins (local_record) @@ -177,7 +177,6 @@ class RegistryManager: record.url=neighbour_dict[hrn].get_url() return for record in local_records: solve_neighbour_url (record) - # convert local record objects to dicts for xmlrpc # xxx somehow here calling dict(record) issues a weird error # however record.todict() seems to work fine @@ -380,7 +379,6 @@ class RegistryManager: urn = hrn_to_urn(hrn,type) gid_object = api.auth.hierarchy.create_gid(urn, uuid, pkey) gid = gid_object.save_to_string(save_parents=True) - record.gid = gid # xxx should do side effects from new_record to record # not too sure how to do that @@ -401,11 +399,16 @@ class RegistryManager: # anyway the driver should receive an object # (and then extract __dict__ itself if needed) print "DO NOT REMOVE ME before driver.update, record=%s"%record - (pointer, new_key_pointer) = self.driver.update (record.__dict__, new_record.__dict__, hrn, new_key) - if new_key and new_key_pointer: + new_key_pointer = -1 + try: + (pointer, new_key_pointer) = self.driver.update (record.__dict__, new_record.__dict__, hrn, new_key) + except: + pass + if new_key and new_key_pointer: record.reg_keys=[ RegKey (new_key, new_key_pointer)] + record.gid = gid - dbsession.commit(); + dbsession.commit() # update membership for researchers, pis, owners, operators self.update_driver_relations (record, new_record)