diff --git a/nemubot/importer.py b/nemubot/importer.py index 4bb990e..d5688d5 100644 --- a/nemubot/importer.py +++ b/nemubot/importer.py @@ -55,14 +55,24 @@ class ModuleLoader(SourceFileLoader): SourceFileLoader.__init__(self, fullname, path) - def load_module(self, fullname): - module = SourceFileLoader.load_module(self, fullname) - + def _load(self, module, name): # Add the module to the global modules list if self.add_module(module): - logger.info("Module '%s' successfully loaded.", module.__name__) + logger.info("Module '%s' successfully loaded.", name) else: - logger.error("An error occurs while importing `%s'.", module.__name__) + logger.error("An error occurs while importing `%s'.", name) raise ImportError("An error occurs while importing `%s'." - % module.__name__) + % name) return module + + + # Python 3.4 + def exec_module(self, module): + super(ModuleLoader, self).exec_module(module) + self._load(module, module.__spec__.name) + + + # Python 3.3 + def load_module(self, fullname): + module = super(ModuleLoader, self).load_module(fullname) + return self._load(module, module.__name__)