summaryrefslogtreecommitdiffstats
path: root/ipsilon/providers
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-10-24 11:20:00 -0400
committerPatrick Uiterwijk <puiterwijk@redhat.com>2014-10-27 16:31:45 +0100
commit0167e69a38734586c1a1f45786313efb3b5f73c3 (patch)
tree1a9cfcaa0e6fa7c7d95cd8c0e31154f388bc33ba /ipsilon/providers
parent7a88f6bc436a95536b5af896f2f4997c859571f9 (diff)
downloadipsilon-0167e69a38734586c1a1f45786313efb3b5f73c3.tar.gz
ipsilon-0167e69a38734586c1a1f45786313efb3b5f73c3.tar.xz
ipsilon-0167e69a38734586c1a1f45786313efb3b5f73c3.zip
Fix plugins enablement code
Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Diffstat (limited to 'ipsilon/providers')
-rwxr-xr-xipsilon/providers/common.py27
1 files changed, 11 insertions, 16 deletions
diff --git a/ipsilon/providers/common.py b/ipsilon/providers/common.py
index 6d454b5..d882b40 100755
--- a/ipsilon/providers/common.py
+++ b/ipsilon/providers/common.py
@@ -56,6 +56,7 @@ class ProviderBase(PluginObject):
self.name = name
self.path = path
self.tree = None
+ self.is_enabled = False
def on_enable(self):
# this one does nothing
@@ -81,31 +82,24 @@ class ProviderBase(PluginObject):
self._debug('IdP Provider registered: %s' % self.name)
if self.get_config_value('enabled') == '1':
- # and add self to the root
- root = site[FACILITY]['root']
- root.add_subtree(self.name, self.tree)
- self._debug('IdP Provider enabled: %s' % self.name)
+ # and enable self
+ self._enable(site)
- @property
- def is_enabled(self):
- if self.get_config_value('enabled') == '1':
- return True
- return False
+ def _enable(self, site):
+ root = site[FACILITY]['root']
+ root.add_subtree(self.name, self.tree)
+ self._debug('IdP Provider enabled: %s' % self.name)
+ self.is_enabled = True
+ self.on_enable()
def enable(self, site):
if self.is_enabled:
return
- # and add self to the root
- root = site[FACILITY]['root']
- root.add_subtree(self.name, self.tree)
-
+ self._enable(site)
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):
if not self.is_enabled:
return
@@ -114,6 +108,7 @@ class ProviderBase(PluginObject):
root = site[FACILITY]['root']
root.del_subtree(self.name)
+ self.is_enabled = False
self.set_config_value('enabled', '0')
self.save_plugin_config(FACILITY)
self._debug('IdP Provider disabled: %s' % self.name)