X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fregistry_manager.py;h=c29130aebde4f94904ac3b6df1f9b2186a8f58e6;hb=f2282434e40e06365e0fdd3f9bc273a793f41235;hp=8c012adbe44521a8599a03bf2b4f8ba76e65b498;hpb=d3d1e577918bd1fa0a89a56bd65a049e107fc508;p=sfa.git diff --git a/sfa/managers/registry_manager.py b/sfa/managers/registry_manager.py index 8c012adb..c29130ae 100644 --- a/sfa/managers/registry_manager.py +++ b/sfa/managers/registry_manager.py @@ -380,7 +380,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 +400,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)