aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/conventionalrp/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/conventionalrp/plugins')
-rw-r--r--src/conventionalrp/plugins/__init__.py2
-rw-r--r--src/conventionalrp/plugins/plugin_manager.py19
2 files changed, 20 insertions, 1 deletions
diff --git a/src/conventionalrp/plugins/__init__.py b/src/conventionalrp/plugins/__init__.py
index 9f1a11b..a7e5268 100644
--- a/src/conventionalrp/plugins/__init__.py
+++ b/src/conventionalrp/plugins/__init__.py
@@ -1,4 +1,4 @@
# FILE: /trpg-log-processor/trpg-log-processor/src/conventionalrp/plugins/__init__.py
"""
This file initializes the plugins module.
-""" \ No newline at end of file
+"""
diff --git a/src/conventionalrp/plugins/plugin_manager.py b/src/conventionalrp/plugins/plugin_manager.py
index e69de29..0d49a9c 100644
--- a/src/conventionalrp/plugins/plugin_manager.py
+++ b/src/conventionalrp/plugins/plugin_manager.py
@@ -0,0 +1,19 @@
+import os
+import importlib
+
+
+class PluginManager:
+ def __init__(self, plugin_dir: str):
+ self.plugin_dir = plugin_dir
+ self.plugins = []
+
+ def load_plugins(self):
+ for plugin in os.listdir(self.plugin_dir):
+ if plugin.endswith(".py"):
+ plugin_name = plugin.split(".")[0]
+ module = importlib.import_module(f"{self.plugin_dir}.{plugin_name}")
+ self.plugins.append(module)
+
+ def run_plugins(self):
+ for plugin in self.plugins:
+ plugin.run()