summaryrefslogtreecommitdiffstats
path: root/ipalib/public.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-05 21:10:49 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-05 21:10:49 +0000
commitf193dcba277e10b204f0e70a6cb0bcf3a661b8dc (patch)
tree6610f96e6c88b73af0055cc6f4ff4e4f72f161b7 /ipalib/public.py
parent907107001bb0db662a743cb678c2adda3381d7b7 (diff)
downloadfreeipa.git-f193dcba277e10b204f0e70a6cb0bcf3a661b8dc.tar.gz
freeipa.git-f193dcba277e10b204f0e70a6cb0bcf3a661b8dc.tar.xz
freeipa.git-f193dcba277e10b204f0e70a6cb0bcf3a661b8dc.zip
49: Added public.PublicAPI class; added some basic unit tests for same
Diffstat (limited to 'ipalib/public.py')
-rw-r--r--ipalib/public.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/ipalib/public.py b/ipalib/public.py
index 99d89000..b9f858fb 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -26,25 +26,32 @@ import re
import plugable
-class cmd_proxy(plugable.Proxy):
+class generic_proxy(plugable.Proxy):
__slots__ = (
'get_label',
- 'get_summary',
- 'get_help',
- 'get_options',
+ )
+
+
+class cmd_proxy(plugable.Proxy):
+ __slots__ = (
+ '__call__',
)
class cmd(plugable.Plugin):
proxy = cmd_proxy
+ def __call__(self, *args, **kw):
+ print repr(self)
+
class obj(plugable.Plugin):
- pass
+ proxy = generic_proxy
class attr(plugable.Plugin):
__obj = None
+ proxy = generic_proxy
def __init__(self):
m = re.match('^([a-z]+)_([a-z]+)$', self.__class__.__name__)
@@ -74,8 +81,13 @@ class attr(plugable.Plugin):
class mthd(attr, cmd):
- pass
+ proxy = generic_proxy
class prop(attr):
- pass
+ proxy = generic_proxy
+
+
+class PublicAPI(plugable.API):
+ def __init__(self):
+ super(PublicAPI, self).__init__(cmd, obj, prop)