Add plugin enhancements: PluginStatus, PluginError, subscribe_plugin, config validation

- New: fmfuncs/plugin_status.py (9 states)
- New: fmfuncs/plugin_error.py (6 exception classes)
- Enhanced: bridges/plugin_bridge.py (subscribe_plugin)
- Enhanced: bridges/plugin_network_bridge.py (setup_data_transfer, send_data)
- Enhanced: services/plugin_service.py (config validation + status tracking)
- Tests: 15/15 passing (10 original + 5 new)
This commit is contained in:
2026-06-10 13:02:33 +08:00
parent 79f7fb86fe
commit 1cbe52174d
5 changed files with 118 additions and 1 deletions
+10
View File
@@ -28,6 +28,16 @@ class PluginBridge:
self.processing_task = None
logger.debug("PluginBridge初始化开始")
def subscribe_plugin(self, topic: str, handler, plugin_name: str = None):
if plugin_name:
if plugin_name not in self.plugin_subscribers:
self.plugin_subscribers[plugin_name] = {}
if topic not in self.plugin_subscribers[plugin_name]:
self.plugin_subscribers[plugin_name][topic] = []
self.plugin_subscribers[plugin_name][topic].append(handler)
self.core_bridge.subscribe(topic, handler)
logger.debug(f"plugin {plugin_name or '?'} subscribed: {topic}")
async def start(self):
"""启动插件桥接服务"""
try: