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:
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""插件异常层级 — 结构化错误处理"""
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class PluginError(Exception):
|
||||
"""插件基础异常"""
|
||||
def __init__(self, message: str, plugin_name: str = None, *args):
|
||||
self.plugin_name = plugin_name
|
||||
super().__init__(f"[{plugin_name or 'unknown'}] {message}", *args)
|
||||
|
||||
class PluginLoadError(PluginError):
|
||||
"""插件加载失败"""
|
||||
pass
|
||||
|
||||
class PluginPermissionError(PluginError):
|
||||
"""插件权限不足"""
|
||||
pass
|
||||
|
||||
class PluginCommandError(PluginError):
|
||||
"""插件命令执行错误"""
|
||||
pass
|
||||
|
||||
class PluginNetworkError(PluginError):
|
||||
"""插件网络操作错误"""
|
||||
pass
|
||||
|
||||
class PluginConfigError(PluginError):
|
||||
"""插件配置错误"""
|
||||
pass
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""插件状态枚举 — 统一的插件生命周期状态跟踪"""
|
||||
from enum import Enum
|
||||
|
||||
class PluginStatus(str, Enum):
|
||||
UNLOADED = "unloaded"
|
||||
LOADING = "loading"
|
||||
LOADED = "loaded"
|
||||
INITIALIZING = "initializing"
|
||||
RUNNING = "running"
|
||||
ERROR = "error"
|
||||
STOPPING = "stopping"
|
||||
STOPPED = "stopped"
|
||||
UNLOADING = "unloading"
|
||||
Reference in New Issue
Block a user