diff options
Diffstat (limited to 'ipalib/base.py')
-rw-r--r-- | ipalib/base.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/ipalib/base.py b/ipalib/base.py index 537146b4c..2769efd3b 100644 --- a/ipalib/base.py +++ b/ipalib/base.py @@ -94,7 +94,7 @@ class NameSpace(object): """ Returns True if namespace has an item named `key`. """ - return key in self.__kw + return key.replace('-', '_') in self.__kw def __iter__(self): """ @@ -132,6 +132,10 @@ class Named(object): return self.__class__.__name__ name = property(__get_name) + def __get_doc(self): + return self.__class__.__doc__ + doc = property(__get_doc) + class ObjectMember(Named): def __init__(self, obj): @@ -189,6 +193,7 @@ class Object(Named): class API(object): __objects = None __commands = None + __max_cmd_len = None def __init__(self): self.__obj_d = {} @@ -201,6 +206,14 @@ class API(object): return self.__commands commands = property(__get_commands) + def __get_max_cmd_len(self): + if self.__max_cmd_len is None: + if self.__commands is None: + return 0 + self.__max_cmd_len = max(len(n) for n in self.__commands) + return self.__max_cmd_len + max_cmd_len = property(__get_max_cmd_len) + def register_object(self, cls, override=False): assert type(override) is bool if not (inspect.isclass(cls) and issubclass(cls, Object)): |