aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/conventionalrp/plugins/plugin_manager.py
blob: 0d49a9c99f41ad18a7de34aac3e22121428cf53d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()