diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-05 21:10:49 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-05 21:10:49 +0000 |
commit | f193dcba277e10b204f0e70a6cb0bcf3a661b8dc (patch) | |
tree | 6610f96e6c88b73af0055cc6f4ff4e4f72f161b7 /ipalib/public.py | |
parent | 907107001bb0db662a743cb678c2adda3381d7b7 (diff) | |
download | freeipa.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.py | 26 |
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) |