X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=ipsilon%2Finfo%2Fcommon.py;h=4cd6663ecf9e5bc4fa8c8eac991f84ca2d67c3b1;hp=a97d64895a621175c7cd0188cb8e59b647c317e1;hb=485baf6ee7a315d1af1086fe5b5da8cff6c4ba37;hpb=434bffc3b1ab4a74f0f23508e624e7427987aaf8 diff --git a/ipsilon/info/common.py b/ipsilon/info/common.py index a97d648..4cd6663 100644 --- a/ipsilon/info/common.py +++ b/ipsilon/info/common.py @@ -1,6 +1,4 @@ -# Copyright (C) 2014 Ipsilon Project Contributors -# -# See the file named COPYING for the project license +# Copyright (C) 2014 Ipsilon project Contributors, for license see COPYING from ipsilon.util.log import Log from ipsilon.util.plugin import PluginInstaller, PluginLoader @@ -65,7 +63,13 @@ class Info(Log): if item not in plugins.available: self.debug('Info Plugin %s not found' % item) continue - plugins.available[item].enable() + try: + plugins.available[item].enable() + except Exception as e: # pylint: disable=broad-except + while item in plugins.enabled: + plugins.enabled.remove(item) + self.debug("Info Plugin %s couldn't be enabled: %s" % ( + item, str(e))) def get_user_attrs(self, user, requested=None): plugins = self._site[FACILITY].available @@ -98,10 +102,10 @@ class InfoProviderInstaller(object): def validate_args(self, args): return - def unconfigure(self, opts): + def unconfigure(self, opts, changes): return - def configure(self, opts): + def configure(self, opts, changes): raise NotImplementedError