summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-15 05:19:02 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-15 05:19:02 +0000
commitab10f0843be45529925a226dc54a9fd0a30ad159 (patch)
tree78a01816c55f81e557d0416b2b1e4b4c95df31c8 /ipalib
parenta24f2121d553644513dc90d423b9ac968de34bc2 (diff)
downloadfreeipa-ab10f0843be45529925a226dc54a9fd0a30ad159.tar.gz
freeipa-ab10f0843be45529925a226dc54a9fd0a30ad159.tar.xz
freeipa-ab10f0843be45529925a226dc54a9fd0a30ad159.zip
179: DictProxy now has __call__() method that iterates through the values; removed __call__() method from NameSpace as it subclasses from DictProxys; DictProxy unit tests now test __call__()
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/plugable.py16
-rw-r--r--ipalib/tests/test_plugable.py2
2 files changed, 10 insertions, 8 deletions
diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index 57ab8bc74..811a5527f 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -192,6 +192,14 @@ class DictProxy(SetProxy):
"""
return self.__d[key]
+ def __call__(self):
+ """
+ Iterates (in ascending order by key) through the values in this
+ container.
+ """
+ for key in self:
+ yield self.__d[key]
+
class MagicDict(DictProxy):
"""
@@ -530,14 +538,6 @@ class NameSpace(DictProxy):
setattr(self, name, member)
yield (name, member)
- def __call__(self):
- """
- Iterates (in ascending order by name) through the members in this
- NameSpace.
- """
- for key in self:
- yield self[key]
-
def __repr__(self):
"""
Returns pseudo-valid Python expression that could be used to construct
diff --git a/ipalib/tests/test_plugable.py b/ipalib/tests/test_plugable.py
index aece3fb81..44067b80a 100644
--- a/ipalib/tests/test_plugable.py
+++ b/ipalib/tests/test_plugable.py
@@ -192,6 +192,7 @@ class test_DictProxy(ClassChecker):
# Check initial state
assert len(proxy) == len(target)
assert list(proxy) == sorted(target)
+ assert list(proxy()) == [target[k] for k in sorted(target)]
assert key not in proxy
raises(KeyError, getitem, proxy, key)
@@ -199,6 +200,7 @@ class test_DictProxy(ClassChecker):
target[key] = val
assert len(proxy) == len(target)
assert list(proxy) == sorted(target)
+ assert list(proxy()) == [target[k] for k in sorted(target)]
# Verify TypeError is raised trying to set/del via proxy
raises(TypeError, setitem, proxy, key, val)