这个修改的主要优点是:

1. 在插件初始化之前就进行检查,避免不必要的资源消耗
2. 保持了配置文件的控制作用
3. 通过日志清晰地显示插件未加载的原因
需要注意的是,这个修改假设所有插件的配置文件都遵循相同的结构(即使用插件类名作为配置节点)。如果有些插件使用不同的配置结构,可能需要调整检查逻辑。
This commit is contained in:
liuwei
2025-04-17 15:02:15 +08:00
parent 0314a251e6
commit d711a2c24a

View File

@@ -300,11 +300,11 @@ class PluginManager:
self.LOG.error(f"PluginManager插件模块 {module_name} 加载配置失败")
return None
# 添加检查enable状态的代码
plugin_config = plugin._config.get(plugin.__class__.__name__, {})
if not plugin_config.get("enable", True): # 默认为True如果没有配置
self.LOG.info(f"PluginManager插件 {module_name} 已禁用,跳过加载")
return None
# 修改检查enable状态的代码:遍历所有配置节点
for section in plugin._config.values():
if isinstance(section, dict) and not section.get("enable", True):
self.LOG.info(f"PluginManager插件 {module_name} 已禁用,跳过加载")
return None
# 初始化插件
if not plugin.initialize(self.system_context):