summaryrefslogtreecommitdiffstats
path: root/ipsilon/providers/common.py
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-09-12 17:17:59 -0400
committerPatrick Uiterwijk <puiterwijk@redhat.com>2014-09-24 20:29:08 +0200
commite841faf4a5e729aff8831ef72dab41adb51d6cf0 (patch)
treec908fe817707ed46ee208a4d8e80a540671b775f /ipsilon/providers/common.py
parentb6429073a1c3e158adb9f4c32be99d96a289ac74 (diff)
downloadipsilon-e841faf4a5e729aff8831ef72dab41adb51d6cf0.tar.gz
ipsilon-e841faf4a5e729aff8831ef72dab41adb51d6cf0.tar.xz
ipsilon-e841faf4a5e729aff8831ef72dab41adb51d6cf0.zip
Allow deferred initialization of providers
This fixes enabling a provider after the sever is started. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Diffstat (limited to 'ipsilon/providers/common.py')
-rwxr-xr-xipsilon/providers/common.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipsilon/providers/common.py b/ipsilon/providers/common.py
index 865cb77..6bcfef8 100755
--- a/ipsilon/providers/common.py
+++ b/ipsilon/providers/common.py
@@ -42,6 +42,11 @@ class ProviderBase(PluginObject):
self.path = path
self.tree = None
+ def on_enable(self):
+ # this one does nothing
+ # derived classes can override with custom behavior
+ return
+
def get_tree(self, site):
raise NotImplementedError
@@ -82,6 +87,8 @@ class ProviderBase(PluginObject):
self.set_config_value('enabled', '1')
self.save_plugin_config(FACILITY)
+
+ self.on_enable()
self._debug('IdP Provider enabled: %s' % self.name)
def disable(self, site):