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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user