File size: 710 Bytes
d488241 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import importlib.util
from pathlib import Path
class PluginManager:
def __init__(self):
self.plugins = {}
def load_plugins(self, directory="plugins"):
for plugin_file in Path(directory).glob("*.py"):
spec = importlib.util.spec_from_file_location(plugin_file.stem, plugin_file)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
self.plugins[plugin_file.stem] = module
def run_analysis(self, ad):
results = {}
for name, plugin in self.plugins.items():
if hasattr(plugin, "analyze"):
results[name] = plugin.analyze(ad)
return results |