summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-08 21:51:05 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-08 21:51:05 +0000
commit13f030d91e378064291d2065b547047bb3f175e8 (patch)
tree57a5c6b3c12b029d93877058f22839cc16ca10fb
parentcb9c44270819c080f899fe7678f7f319686e681d (diff)
downloadfreeipa-13f030d91e378064291d2065b547047bb3f175e8.tar.gz
freeipa-13f030d91e378064291d2065b547047bb3f175e8.tar.xz
freeipa-13f030d91e378064291d2065b547047bb3f175e8.zip
271: Improved __repr__ methods for better output from the show-plugins command
-rw-r--r--ipalib/plugable.py2
-rw-r--r--ipalib/public.py8
-rw-r--r--ipalib/tests/test_plugable.py4
3 files changed, 11 insertions, 3 deletions
diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index 761d8a95..438815bb 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -354,7 +354,7 @@ class Plugin(ReadOnly):
Returns a fully qualified module_name.class_name() representation that
could be used to construct this Plugin instance.
"""
- return '%s.%s' % (
+ return '%s.%s()' % (
self.__class__.__module__,
self.__class__.__name__
)
diff --git a/ipalib/public.py b/ipalib/public.py
index 5a70a715..a5385a92 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -189,6 +189,14 @@ class Option(plugable.ReadOnly):
self.validate(value)
return value
+ def __repr__(self):
+ return '%s(%r, %r, %s)' % (
+ self.__class__.__name__,
+ self.name,
+ self.doc,
+ self.type.name,
+ )
+
class Command(plugable.Plugin):
__public__ = frozenset((
diff --git a/ipalib/tests/test_plugable.py b/ipalib/tests/test_plugable.py
index a7c4d61b..ec33989d 100644
--- a/ipalib/tests/test_plugable.py
+++ b/ipalib/tests/test_plugable.py
@@ -393,7 +393,7 @@ class test_Plugin(ClassChecker):
api = 'the api instance'
o = self.cls()
assert read_only(o, 'name') == 'Plugin'
- assert repr(o) == '%s.Plugin' % plugable.__name__
+ assert repr(o) == '%s.Plugin()' % plugable.__name__
assert read_only(o, 'api') is None
raises(AssertionError, o.finalize, None)
o.finalize(api)
@@ -404,7 +404,7 @@ class test_Plugin(ClassChecker):
pass
sub = some_plugin()
assert read_only(sub, 'name') == 'some_plugin'
- assert repr(sub) == '%s.some_plugin' % __name__
+ assert repr(sub) == '%s.some_plugin()' % __name__
assert read_only(sub, 'api') is None
raises(AssertionError, sub.finalize, None)
sub.finalize(api)