aboutsummaryrefslogtreecommitdiff
path: root/src/ModuleManager.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-10 16:11:22 +0100
committerGravatar jesopo2019-05-10 16:11:22 +0100
commit091818fa32a67e973bdcda65a3edfe89a5a8c012 (patch)
tree90bb7f9ca7a6e6a0fd676b9c4333c6750289e948 /src/ModuleManager.py
parentignore users ignored from !factoid for automatic factoid parsing (diff)
Hold context in EventCallback objects, add name<->context translation in
ModuleManager
Diffstat (limited to 'src/ModuleManager.py')
-rw-r--r--src/ModuleManager.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ModuleManager.py b/src/ModuleManager.py
index 6b04f47c..f764b445 100644
--- a/src/ModuleManager.py
+++ b/src/ModuleManager.py
@@ -91,6 +91,18 @@ class ModuleManager(object):
def _import_name(self, name: str) -> str:
return "bitbot_%s" % name
+ def from_context(self, context: str) -> typing.Optional[LoadedModule]:
+ for module in self.modules.values():
+ if module.context == context:
+ return module
+ return None
+ def from_name(self, name: str) -> typing.Optional[LoadedModule]:
+ name_lower = name.lower()
+ for module in self.modules.values():
+ if module.name.lower() == name_lower:
+ return module
+ return None
+
def _get_magic(self, obj: typing.Any, magic: str, default: typing.Any
) -> typing.Any:
return getattr(obj, magic) if hasattr(obj, magic) else default