diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-07-19 21:51:07 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-07-19 21:51:07 +0000 |
commit | e76160b01db52f9e750a605983eb85ae97305629 (patch) | |
tree | 626e09c3761c7ad975d0aa56dcbf32f2fbd23e9c /ipalib/base.py | |
parent | 26c9f4c8818e9904dab838ac95839c0d527219b8 (diff) | |
download | freeipa-e76160b01db52f9e750a605983eb85ae97305629.tar.gz freeipa-e76160b01db52f9e750a605983eb85ae97305629.tar.xz freeipa-e76160b01db52f9e750a605983eb85ae97305629.zip |
8: Experimental work on more OO definition of what gets pluged into API.commands
Diffstat (limited to 'ipalib/base.py')
-rw-r--r-- | ipalib/base.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ipalib/base.py b/ipalib/base.py index 51324f93..62949eef 100644 --- a/ipalib/base.py +++ b/ipalib/base.py @@ -101,7 +101,7 @@ class NameSpace(object): __locked = False # Whether __setattr__ has been locked - def __init__(self, kw): + def __init__(self, kw, order=None): """ The single constructor argument `kw` is a dict of the (key, value) pairs to be in this NameSpace instance. @@ -111,7 +111,11 @@ class NameSpace(object): for (key, value) in self.__kw.items(): assert not key.startswith('_') setattr(self, key, value) - self.__keys = sorted(self.__kw) + if order is None: + self.__keys = sorted(self.__kw) + else: + self.__keys = list(order) + assert set(self.__keys) == set(self.__kw) self.__locked = True def __setattr__(self, name, value): |