From: Tony Mack <tmack@cs.princeton.edu> Date: Wed, 4 Nov 2009 01:05:16 +0000 (+0000) Subject: request hash is optional X-Git-Tag: sfa-0.9-6~64 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=cc424a19c4c158f5ccb861ac825850ce26df43c6;p=sfa.git request hash is optional --- diff --git a/sfa/methods/list.py b/sfa/methods/list.py index 24c4064d..a33cad5b 100644 --- a/sfa/methods/list.py +++ b/sfa/methods/list.py @@ -56,14 +56,17 @@ class list(Method): # forward the request if registry_hrn != self.api.hrn: credential = self.api.getCredential() - request_hash=None try: - record_list = registries[registry_hrn].list(credential, hrn, request_hash, caller_cred) + record_list = registries[registry_hrn].list(credential, hrn, caller_cred) records = [GeniRecord(dict=record).as_dict() for record in record_list] - if records: - return records except: - pass + arg_list = [credential, hrn] + request_hash = self.api.compute_hash(arg_list) + record_list = registries[registry_hrn].list(credential, hrn, request_hash, caller_cred) + records = [GeniRecord(dict=record).as_dict() for record in record_list] + + if records: + return records # if we still havnt found the record yet, try the local registry if not self.api.auth.hierarchy.auth_exists(hrn): diff --git a/sfa/methods/resolve.py b/sfa/methods/resolve.py index cc637b89..29e79b4b 100644 --- a/sfa/methods/resolve.py +++ b/sfa/methods/resolve.py @@ -59,14 +59,17 @@ class resolve(Method): # forward the request if registry_hrn != self.api.hrn: credential = self.api.getCredential() - request_hash=None try: - records = registries[registry_hrn].resolve(credential, hrn, request_hash, caller_cred) + records = registries[registry_hrn].resolve(credential, hrn, caller_cred) good_records = [GeniRecord(dict=record).as_dict() for record in records] - if good_records: - return good_records except: - traceback.print_exc() + arg_list = [credential, hrn] + request_hash=self.api.key.compute_hash(arg_list) + records = registries[registry_hrn].resolve(credential, hrn, request_hash, caller_cred) + good_records = [GeniRecord(dict=record).as_dict() for record in records] + + if good_records: + return good_records # if we still havnt found the record yet, try the local registry table = GeniTable()