summaryrefslogtreecommitdiffstats
path: root/ipalib/base.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-07-19 21:51:07 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-07-19 21:51:07 +0000
commite76160b01db52f9e750a605983eb85ae97305629 (patch)
tree626e09c3761c7ad975d0aa56dcbf32f2fbd23e9c /ipalib/base.py
parent26c9f4c8818e9904dab838ac95839c0d527219b8 (diff)
downloadfreeipa-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.py8
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):