summaryrefslogtreecommitdiffstats
path: root/ipsilon/providers/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipsilon/providers/common.py')
-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)