From 2b12bca660e5dd65256e67b0815392173428247d Mon Sep 17 00:00:00 2001 From: Jan Cholasta Date: Mon, 15 Jun 2015 13:36:26 +0000 Subject: plugable: Specify plugin base classes and modules using API properties https://fedorahosted.org/freeipa/ticket/3090 Reviewed-By: Martin Babinsky --- ipalib/__init__.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'ipalib/__init__.py') diff --git a/ipalib/__init__.py b/ipalib/__init__.py index 4a66e7dd4..44aacd091 100644 --- a/ipalib/__init__.py +++ b/ipalib/__init__.py @@ -899,16 +899,16 @@ else: class API(plugable.API): - def __init__(self, allowed): - super(API, self).__init__(allowed, ['ipalib.plugins.*']) - - def bootstrap(self, parser=None, **overrides): - super(API, self).bootstrap(parser, **overrides) + bases = (Command, Object, Method, Backend, Updater) + @property + def modules(self): + result = ('ipalib.plugins.*',) if self.env.in_server: - self.modules.append('ipaserver.plugins.*') + result += ('ipaserver.plugins.*',) if self.env.context in ('installer', 'updates'): - self.modules.append('ipaserver.install.plugins.*') + result += ('ipaserver.install.plugins.*',) + return result def create_api(mode='dummy'): @@ -926,7 +926,7 @@ def create_api(mode='dummy'): - `backend.Backend` """ - api = API((Command, Object, Method, Backend, Updater)) + api = API() if mode is not None: api.env.mode = mode assert mode != 'production' -- cgit