From 70839e66ba9f482f25768247629eff4cc78643be Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 19 Jun 2019 23:11:56 +0100 Subject: Catch a module not being "found" in modules.py --- modules/modules.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/modules.py b/modules/modules.py index 557e82ba..25a2c289 100644 --- a/modules/modules.py +++ b/modules/modules.py @@ -6,8 +6,10 @@ from src import ModuleManager, utils class Module(ModuleManager.BaseModule): def _catch(self, name, func): try: - func() + return func() except ModuleManager.ModuleNotFoundException: + raise utils.EventError("Module '%s' not found" % name) + except ModuleManager.ModuleNotLoadedException: raise utils.EventError("Module '%s' isn't loaded" % name) except ModuleManager.ModuleWarning as warning: raise utils.EventError("Module '%s' not loaded: %s" % ( @@ -26,7 +28,8 @@ class Module(ModuleManager.BaseModule): name = event["args_split"][0].lower() if name in self.bot.modules.modules: raise utils.EventError("Module '%s' is already loaded" % name) - definition = self.bot.modules.find_module(name) + definition = self._catch(name, + lambda: self.bot.modules.find_module(name)) self._catch(name, lambda: self.bot.modules.load_module(self.bot, definition)) event["stdout"].write("Loaded '%s'" % name) @@ -47,7 +50,8 @@ class Module(ModuleManager.BaseModule): def _reload(self, name): self.bot.modules.unload_module(name) - definition = self.bot.modules.find_module(name) + definition = self._catch(name, + lambda: self.bot.modules.find_module(name)) self.bot.modules.load_module(self.bot, definition) @utils.hook("received.command.reloadmodule", min_args=1) def reload(self, event): -- cgit v1.3.1-10-gc9f91