From: CMDR furrycat Date: Sat, 29 Oct 2016 09:36:32 +0000 (+0100) Subject: Added plugins.bind_variable(). X-Git-Url: http://git.furryclan.net/?a=commitdiff_plain;h=1ec958dc6a700e29cff8fda2093983884ec9d34f;p=furrycat%2Fcatbot.git Added plugins.bind_variable(). --- diff --git a/plugins.py b/plugins.py index 9694842..36e63a7 100644 --- a/plugins.py +++ b/plugins.py @@ -44,11 +44,21 @@ class Plugins(object): if self.has_method(name, 'description'): return self.call_method(name, 'description') + def get_module(self, name): + if name not in self.loaded: + return None + return self.loaded[name]['module'] + def get_plugin(self, name): if name not in self.loaded: return None return self.loaded[name]['plugin'] + def bind_variable(self, name, key, value): + if name not in self.loaded: + return None + return setattr(self.get_module(name), key, value) + def has_method(self, name, method): if name not in self.loaded: return None @@ -74,12 +84,8 @@ class Plugins(object): logging.getLogger(name).setLevel(level) def set_client(self, client): - for name, data in self.loaded.items(): - data['module'].client = client - - def all(self): for name in self.plugins(): - yield self.get_plugin(name) + self.bind_variable(name, 'client', client) def on_ready(self): for name in self.plugins():