From 594e7512b749b8aa98ca6b90d313f1e05dfaa327 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Fri, 15 Aug 2008 19:15:24 +0000 Subject: 180: Fixed a few things in public.py that were broken by the changed NameSpace iter behaiviour --- ipalib/public.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'ipalib') diff --git a/ipalib/public.py b/ipalib/public.py index 1663a3b46..9a6c02ef6 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -253,9 +253,11 @@ class obj(plugable.Plugin): return plugable.NameSpace(self.__filter(name)) def __filter(self, name): - for i in getattr(self.api, name): - if i.obj_name == self.name: - yield i.__clone__('attr_name') + namespace = getattr(self.api, name) + assert type(namespace) is plugable.NameSpace + for proxy in namespace(): # Like dict.itervalues() + if proxy.obj_name == self.name: + yield proxy.__clone__('attr_name') class attr(plugable.Plugin): @@ -299,7 +301,7 @@ class mthd(attr, cmd): for proxy in cmd.get_options(self): yield proxy if self.obj is not None and self.obj.prop is not None: - for proxy in self.obj.prop: + for proxy in self.obj.prop(): yield proxy -- cgit