aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/conventionalrp/plugins/plugin_manager.py
diff options
context:
space:
mode:
authorHsiangNianian <i@jyunko.cn>2025-03-15 16:35:39 +0800
committerHsiangNianian <i@jyunko.cn>2025-03-15 16:35:39 +0800
commit965771fb0d85ddb27dc6c5dd7df822d1fb318286 (patch)
treef33a0d36e5716da13be0e3a4134cf7359ebe5223 /src/conventionalrp/plugins/plugin_manager.py
parent818d84a7bf00c07b7ab252dda5bfa70a98b8be65 (diff)
downloadconventional_role_play-965771fb0d85ddb27dc6c5dd7df822d1fb318286.tar.gz
conventional_role_play-965771fb0d85ddb27dc6c5dd7df822d1fb318286.zip
refactor: clean up code formatting and add new PluginManager class
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()