From f0774b4de5b54a53ea3abb5ab07d7951ee55a7b2 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 21 Apr 2009 18:00:20 +0000 Subject: [PATCH] fix bugs --- geni/methods/list.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/geni/methods/list.py b/geni/methods/list.py index fe61f123..81c5e081 100644 --- a/geni/methods/list.py +++ b/geni/methods/list.py @@ -27,18 +27,18 @@ class list(Method): def call(self, cred, hrn): self.api.auth.check(cred, 'list') - # is this a foreign authority - if not hrn.startswith(self.api.hrn): - registries = Registries(self.api) + try: + if not self.api.auth.hierarchy.auth_exists(hrn): + raise MissingAuthority(hrn) + table = self.api.auth.get_auth_table(hrn) + records = table.list() + except MissingAuthority: + # is this a foreign authority + registries = Registries(self.api) credential = self.api.getCredential() for registry in registries: - if hrn.startswith(registry): + if hrn.startswith(registry) and registry not in [self.api.hrn]: records = registries[registry].list(credential, hrn) - return records - - if not self.api.auth.hierarchy.auth_exists(hrn): - raise MissingAuthority(hrn) - table = self.api.auth.get_auth_table(hrn) - records = table.list() + return records return records -- 2.43.0