X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=geni%2Fmethods%2Fresolve.py;h=dca385b7babb9c89e764381da9ce39e058a1a29b;hb=b5961c6762fe1d8bc350b4aff85fc3cc68791e05;hp=3987ad7ac1a37227cc812df7985eeec9e7413c46;hpb=f0774b4de5b54a53ea3abb5ab07d7951ee55a7b2;p=sfa.git diff --git a/geni/methods/resolve.py b/geni/methods/resolve.py index 3987ad7a..dca385b7 100644 --- a/geni/methods/resolve.py +++ b/geni/methods/resolve.py @@ -31,16 +31,8 @@ class resolve(Method): def call(self, cred, hrn): self.api.auth.check(cred, 'resolve') - - # is this a foreign record - if not hrn.startswith(self.api.hrn): - registries = Registries(self.api) - credential = self.api.getCredential() - for registry in registries: - if hrn.startswith(registry): - records = registries[registry].resolve(credential, hrn) - good_records = records - else: + good_records = [] + try: auth_hrn = self.api.auth.get_authority(hrn) if not auth_hrn: auth_hrn = hrn @@ -58,8 +50,14 @@ class resolve(Method): print >> log, "ignoring geni record ", record.get_name(), \ " because pl record does not exist" table.remove(record) - - print good_records + except: + # is this a foreign record + registries = Registries(self.api) + credential = self.api.getCredential() + for registry in registries: + if hrn.startswith(registry) and not registry in [self.api.hrn]: + records = registries[registry].resolve(credential, hrn) + good_records = records dicts = [record.as_dict() for record in good_records] return dicts