diff options
| author | 2019-12-07 11:07:43 +0000 | |
|---|---|---|
| committer | 2019-12-07 11:07:43 +0000 | |
| commit | 3028759c865bc9f604addb55c4b3d8e65f4cc827 (patch) | |
| tree | 977eb2a06bd33aedc7942c410f7d11c2ff66ddd5 /modules | |
| parent | added get_list() and set_list() to src/Config.py (diff) | |
use get_list and set_list to move dynamic module en/disabling to bot.conf
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/modules.py | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/modules/modules.py b/modules/modules.py index cac145ba..a93afaea 100644 --- a/modules/modules.py +++ b/modules/modules.py @@ -77,41 +77,46 @@ class Module(ModuleManager.BaseModule): else: event["stderr"].write(result.message) - @utils.hook("received.command.enablemodule", min_args=1) + def _get_blacklist(self): + return self.bot.config.get_list("module-blacklist") + def _save_blacklist(self, modules): + self.bot.config.set_list("module-blacklist", modules) + self.bot.config.save() + + @utils.hook("received.command.enablemodule") + @utils.kwarg("min_args", 1) + @utils.kwarg("help", "Remove a module from the module blacklist") + @utils.kwarg("usage", "<module>") + @utils.kwarg("permission", "enable-module") def enable(self, event): - """ - :help: Remove a module from the module blacklist - :usage: <module name> - :permission: enable-module - """ name = event["args_split"][0].lower() - blacklist = self.bot.get_setting("module-blacklist", []) + + blacklist = self._get_blacklist() if not name in blacklist: raise utils.EventError("Module '%s' isn't disabled" % name) blacklist.remove(name) - self.bot.set_setting("module-blacklist", blacklist) + self._save_blacklist(blacklist) event["stdout"].write("Module '%s' has been enabled and can now " "be loaded" % name) - @utils.hook("received.command.disablemodule", min_args=1) + @utils.hook("received.command.disablemodule") + @utils.kwarg("min_args", 1) + @utils.kwarg("help", "Add a module to the module blacklist") + @utils.kwarg("usage", "<module>") + @utils.kwarg("permission", "disable-module") def disable(self, event): - """ - :help: Add a module to the module blacklist - :usage: <module name> - :permission: disable-module - """ name = event["args_split"][0].lower() and_unloaded = "" if name in self.bot.modules.modules: self.bot.modules.unload_module(name) and_unloaded = " and unloaded" - blacklist = self.bot.get_setting("module-blacklist", []) + blacklist = self._get_blacklist() if name in blacklist: raise utils.EventError("Module '%s' is already disabled" % name) blacklist.append(name) - self.bot.set_setting("module-blacklist", blacklist) + self._save_blacklist(blacklist) event["stdout"].write("Module '%s' has been disabled%s" % ( name, and_unloaded)) |
