diff options
author | Simo Sorce <simo@redhat.com> | 2014-10-24 11:20:00 -0400 |
---|---|---|
committer | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-10-27 16:31:45 +0100 |
commit | 0167e69a38734586c1a1f45786313efb3b5f73c3 (patch) | |
tree | 1a9cfcaa0e6fa7c7d95cd8c0e31154f388bc33ba /ipsilon/providers | |
parent | 7a88f6bc436a95536b5af896f2f4997c859571f9 (diff) | |
download | ipsilon-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-x | ipsilon/providers/common.py | 27 |
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) |