aboutsummaryrefslogtreecommitdiff
path: root/src/ModuleManager.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-12-02 10:14:18 +0000
committerGravatar jesopo2018-12-02 10:14:18 +0000
commit9466f57efc134b3f449f724ac92a2f559877eccc (patch)
tree32527ee2212d94060f79ce3de562de5be3642463 /src/ModuleManager.py
parentClarify func_queue type (IRCBot.py) (diff)
signature
Use `getattr` to get `Module` classes out of modules in ModuleManager.py; this
makes more sense and removes some errors from type linting
Diffstat (limited to 'src/ModuleManager.py')
-rw-r--r--src/ModuleManager.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ModuleManager.py b/src/ModuleManager.py
index 9198c890..1072df20 100644
--- a/src/ModuleManager.py
+++ b/src/ModuleManager.py
@@ -89,10 +89,11 @@ class ModuleManager(object):
module = imp.load_source(self._import_name(name), path)
- if not hasattr(module, "Module"):
+ module_object_pointer = getattr(module, "Module", None)
+ if not module_object_pointer:
raise ModuleLoadException("module '%s' doesn't have a "
"'Module' class." % name)
- if not inspect.isclass(module.Module):
+ if not inspect.isclass(module_object_pointer):
raise ModuleLoadException("module '%s' has a 'Module' attribute "
"but it is not a class." % name)
@@ -100,8 +101,8 @@ class ModuleManager(object):
context_events = self.events.new_context(context)
context_exports = self.exports.new_context(context)
context_timers = self.timers.new_context(context)
- module_object = module.Module(bot, context_events, context_exports,
- context_timers, self.log)
+ module_object = module_object_pointer(bot, context_events,
+ context_exports, context_timers, self.log)
if not hasattr(module_object, "_name"):
module_object._name = name.title()