summaryrefslogtreecommitdiffstats
path: root/ipalib/__init__.py
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2016-03-16 11:22:00 +0100
committerJan Cholasta <jcholast@redhat.com>2016-05-25 16:06:26 +0200
commit0d62968b6f853246d38b06e8378cb9cae7f9bbb4 (patch)
treec453875c1200991eac44825e4d3237ed55419715 /ipalib/__init__.py
parent3f5091b55abed3a2d3f4b6b940fdb6bacabbf4fe (diff)
downloadfreeipa-0d62968b6f853246d38b06e8378cb9cae7f9bbb4.tar.gz
freeipa-0d62968b6f853246d38b06e8378cb9cae7f9bbb4.tar.xz
freeipa-0d62968b6f853246d38b06e8378cb9cae7f9bbb4.zip
plugable: replace API.import_plugins with new API.add_package
Replace API.import_plugins with a new method API.add_package which allows loading plugin packages into an API object from a package object. This makes loading of plugin packages loading consistent with loading of plugin modules and classes. Rename API.modules to API.packages and use package objects where implemented to reflect the change. https://fedorahosted.org/freeipa/ticket/4739 Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipalib/__init__.py')
-rw-r--r--ipalib/__init__.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/ipalib/__init__.py b/ipalib/__init__.py
index e163b292c..788fc8ead 100644
--- a/ipalib/__init__.py
+++ b/ipalib/__init__.py
@@ -902,12 +902,18 @@ class API(plugable.API):
bases = (Command, Object, Method, Backend, Updater)
@property
- def modules(self):
- result = ('ipalib.plugins.*',)
+ def packages(self):
+ import ipalib.plugins
+ result = (ipalib.plugins,)
+
if self.env.in_server:
- result += ('ipaserver.plugins.*',)
+ import ipaserver.plugins
+ result += (ipaserver.plugins,)
+
if self.env.context in ('installer', 'updates'):
- result += ('ipaserver.install.plugins.*',)
+ import ipaserver.install.plugins
+ result += (ipaserver.install.plugins,)
+
return result