diff options
Diffstat (limited to 'ipalib/public.py')
-rw-r--r-- | ipalib/public.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ipalib/public.py b/ipalib/public.py index af964ca5..21c6822c 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -394,9 +394,20 @@ class Object(plugable.Plugin): __public__ = frozenset(( 'Method', 'Property', + 'params' )) __Method = None __Property = None + takes_params = tuple() + + def __init__(self): + self.params = plugable.NameSpace( + (create_param(p) for p in self.takes_params), sort=False + ) + + def __create_params(self): + for param in self.takes_params: + yield create_param(param) def __get_Method(self): return self.__Method @@ -411,7 +422,6 @@ class Object(plugable.Plugin): self.__Method = self.__create_namespace('Method') self.__Property = self.__create_namespace('Property') - def __create_namespace(self, name): return plugable.NameSpace(self.__filter_members(name)) |