aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/conventionalrp/plugins/plugin_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/conventionalrp/plugins/plugin_manager.py')
-rw-r--r--src/conventionalrp/plugins/plugin_manager.py19
1 files changed, 19 insertions, 0 deletions
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()