summaryrefslogtreecommitdiffstats
path: root/ipalib/plugable.py
diff options
context:
space:
mode:
authorPavel Zuna <pzuna@redhat.com>2009-06-10 14:11:26 +0200
committerRob Crittenden <rcritten@redhat.com>2009-06-10 11:53:07 -0400
commitc47d716e95fd774ed7448207d9b1682d1a3aa3a9 (patch)
tree79ca802361bbba2eb0aa30540ba0476a82ebab79 /ipalib/plugable.py
parent789fec438105aab5827ba1002fabb81662843fe9 (diff)
downloadfreeipa-c47d716e95fd774ed7448207d9b1682d1a3aa3a9.zip
freeipa-c47d716e95fd774ed7448207d9b1682d1a3aa3a9.tar.gz
freeipa-c47d716e95fd774ed7448207d9b1682d1a3aa3a9.tar.xz
Modify PluginProxy to use __public__ defined in derived classes instead of base classes.
Diffstat (limited to 'ipalib/plugable.py')
-rw-r--r--ipalib/plugable.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index c0a4c35..ba7ac71 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -345,7 +345,10 @@ class PluginProxy(SetProxy):
self.__base = base
self.__target = target
self.__name_attr = name_attr
- self.__public__ = base.__public__
+ if hasattr(type(target), '__public__'):
+ self.__public__ = type(target).__public__
+ else:
+ self.__public__ = base.__public__
self.name = getattr(target, name_attr)
self.doc = target.doc
assert type(self.__public__) is frozenset