模块管理优化
This commit is contained in:
@@ -13,7 +13,32 @@ from plugin_common.event_system import EventSystem, EventType
|
||||
|
||||
|
||||
class PluginManager:
|
||||
"""插件管理器,负责插件的加载、初始化、启动、停止和卸载"""
|
||||
"""插件管理器,负责加载、卸载、启动、停止插件"""
|
||||
|
||||
# 单例实例
|
||||
_instance = None
|
||||
|
||||
@classmethod
|
||||
def get_instance(cls, plugin_dir=None):
|
||||
"""获取单例实例
|
||||
|
||||
Args:
|
||||
plugin_dir: 插件目录,如果已有实例则忽略此参数
|
||||
|
||||
Returns:
|
||||
PluginManager实例
|
||||
"""
|
||||
if cls._instance is None:
|
||||
cls._instance = cls(plugin_dir=plugin_dir or "plugins")
|
||||
return cls._instance
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
"""实现单例模式"""
|
||||
if cls._instance is None:
|
||||
cls._instance = super(PluginManager, cls).__new__(cls)
|
||||
cls._instance._initialized = False
|
||||
return cls._instance
|
||||
|
||||
|
||||
def __init__(self, plugin_dir: str = "plugins"):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user