From fc1bc135df427b46b9bdc9a6beabb8d05308a3ce Mon Sep 17 00:00:00 2001 From: nemunaire Date: Fri, 22 May 2015 23:56:24 +0200 Subject: [PATCH] Importer: now compatible with Python 3.4 --- nemubot/importer.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) 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__)