From ec26b9cb6e04c87ccd3e0b5ec2ec7bc3933404a1 Mon Sep 17 00:00:00 2001 From: Geoff Whittington Date: Thu, 27 Apr 2023 20:40:19 -0400 Subject: [PATCH] try to support .exe custom plugin --- plugin_loader.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugin_loader.py b/plugin_loader.py index 4f8c5ee..b05dacf 100644 --- a/plugin_loader.py +++ b/plugin_loader.py @@ -1,8 +1,12 @@ +import os import sys import importlib from pathlib import Path from log_utils import get_logger +# Get the path to the PyInstaller script +launch_dir = os.path.abspath(os.path.dirname(sys.argv[0])) + logger = get_logger(name="Plugins") plugins = [] @@ -14,7 +18,7 @@ def load_plugins(): return plugins plugins = [] - plugin_dirs = [Path("plugins"), Path("custom_plugins")] + plugin_dirs = [Path("plugins"), Path(launch_dir, "custom_plugins")] for plugin_folder in plugin_dirs: sys.path.insert(0, str(plugin_folder.resolve())) @@ -26,8 +30,13 @@ def load_plugins(): plugin_module = importlib.import_module(plugin_name) if hasattr(plugin_module, "Plugin"): plugin = plugin_module.Plugin() + logger.debug( + f"Found plugin {os.path.basename(plugin_folder)}/{plugin_name}" + ) if plugin.config["active"]: - logger.debug(f"Loaded plugin {plugin_folder/plugin_name}") + logger.info( + f"Loaded plugin {os.path.basename(plugin_folder)}/{plugin_name}" + ) plugins.append(plugin) return plugins