aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2018-09-24 13:18:15 +0100
committerGravatar jesopo2018-09-24 13:18:15 +0100
commit967ed65e00b790df25c1e6925f211779bd0098d9 (patch)
treed7a3da10aa98899c9f08e7433a38fe21a262a61b /modules
parentBetter communicate issues with load/unload/reload of modules (diff)
signature
Actually implement !reloadallmodules in modules.py
Diffstat (limited to 'modules')
-rw-r--r--modules/modules.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/modules/modules.py b/modules/modules.py
index 154a1765..0d4844e9 100644
--- a/modules/modules.py
+++ b/modules/modules.py
@@ -57,18 +57,23 @@ class Module(object):
def reload_all(self, event):
reloaded = []
failed = []
- for name in self.bot.modules.modules.keys():
+ for name in list(self.bot.modules.modules.keys()):
try:
self._reload(name)
- except ModuleManager.ModuleNotFoundException:
- failed.append
- if not self._reload(event):
+ except ModuleWarning:
+ continue
+ except:
failed.append(name)
- else:
- reloaded.append(name)
+ continue
+ reloaded.append(name)
- event["stdout"].write("Reloaded modules: %s" % \
- " ".join(modules_reloaded))
+ if reloaded and failed:
+ event["stdout"].write("Reloaded %d modules, %d failed" % (
+ len(reloaded), len(failed)))
+ elif failed:
+ event["stdout"].write("Failed to reload all modules")
+ else:
+ event["stdout"].write("Reloaded %d modules" % len(reloaded))
def enable(self, event):
name = event["args_split"][0].lower()