From 965771fb0d85ddb27dc6c5dd7df822d1fb318286 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Sat, 15 Mar 2025 16:35:39 +0800 Subject: refactor: clean up code formatting and add new PluginManager class --- src/conventionalrp/plugins/__init__.py | 2 +- src/conventionalrp/plugins/plugin_manager.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'src/conventionalrp/plugins') 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() -- cgit v1.2.3-70-g09d2