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/info | |
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/info')
-rwxr-xr-x | ipsilon/info/common.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/ipsilon/info/common.py b/ipsilon/info/common.py index 62f80ef..03de66a 100755 --- a/ipsilon/info/common.py +++ b/ipsilon/info/common.py @@ -14,36 +14,34 @@ class InfoProviderBase(PluginObject, Log): def __init__(self): super(InfoProviderBase, self).__init__() self._site = None + self.is_enabled = False def get_user_attrs(self, user): raise NotImplementedError - @property - def is_enabled(self): - if self._site: - return self in self._site[FACILITY]['enabled'] - return False - def enable(self, site): - self._site = site - plugins = site[FACILITY] - if self in plugins['enabled']: + if self.is_enabled: return + if not self._site: + self._site = site + plugins = self._site[FACILITY] + # configure self if self.name in plugins['config']: self.set_config(plugins['config'][self.name]) plugins['enabled'].append(self) + self.is_enabled = True self.debug('Info plugin enabled: %s' % self.name) def disable(self, site): - self._site = site - plugins = site[FACILITY] - if self not in plugins['enabled']: + if not self.is_enabled: return + plugins = self._site[FACILITY] plugins['enabled'].remove(self) + self.is_enabled = False self.debug('Info plugin disabled: %s' % self.name) |