From 3028759c865bc9f604addb55c4b3d8e65f4cc827 Mon Sep 17 00:00:00 2001 From: jesopo Date: Sat, 7 Dec 2019 11:07:43 +0000 Subject: use get_list and set_list to move dynamic module en/disabling to bot.conf --- modules/modules.py | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) (limited to 'modules') 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", "") + @utils.kwarg("permission", "enable-module") def enable(self, event): - """ - :help: Remove a module from the module blacklist - :usage: - :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", "") + @utils.kwarg("permission", "disable-module") def disable(self, event): - """ - :help: Add a module to the module blacklist - :usage: - :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)) -- cgit v1.3.1-10-gc9f91