aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/modules.py23
-rw-r--r--modules/signals.py20
2 files changed, 9 insertions, 34 deletions
diff --git a/modules/modules.py b/modules/modules.py
index 25a2c289..cac145ba 100644
--- a/modules/modules.py
+++ b/modules/modules.py
@@ -71,26 +71,11 @@ class Module(ModuleManager.BaseModule):
:help: Reload all modules
:permission: reload-all-modules
"""
- success = []
- fail = []
- for name in list(self.bot.modules.modules.keys()):
- try:
- self.bot.modules.unload_module(name)
- except ModuleManager.ModuleWarning:
- continue
- except:
- fail.append(name)
- load_success, load_fail = self.bot.load_modules(safe=True)
- success.extend(load_success)
- fail.extend(load_fail)
-
- if success and fail:
- event["stdout"].write("Reloaded %d modules, %d failed" % (
- len(success), len(fail)))
- elif fail:
- event["stdout"].write("Failed to reload all modules")
+ result = self.bot.try_reload_modules()
+ if result.success:
+ event["stdout"].write(result.message)
else:
- event["stdout"].write("Reloaded %d modules" % len(success))
+ event["stderr"].write(result.message)
@utils.hook("received.command.enablemodule", min_args=1)
def enable(self, event):
diff --git a/modules/signals.py b/modules/signals.py
index 286852d6..f3adcbb0 100644
--- a/modules/signals.py
+++ b/modules/signals.py
@@ -58,18 +58,8 @@ class Module(ModuleManager.BaseModule):
def _reload_modules(self):
self.bot.log.info("Reloading modules")
- success = []
- fail = []
- for name in list(self.bot.modules.modules.keys()):
- try:
- self.bot.modules.unload_module(name)
- except ModuleManager.ModuleWarning:
- continue
- except Exception as e:
- failed.append(name)
- continue
- load_success, load_fail = self.bot.load_modules(safe=True)
- fail.extend(load_fail)
-
- self.bot.log.info("Reloaded %d modules (%d failed)",
- [len(load_success), len(fail)])
+ result = self.bot.try_reload_modules()
+ if result.success:
+ self.bot.log.info(result.message)
+ else:
+ self.bot.log.warn(result.message)