error_codes.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # coding=utf-8
  2. """
  3. 插件错误码体系
  4. 定义标准化的插件相关错误码
  5. """
  6. class PluginErrorCode:
  7. """插件错误码"""
  8. # 通用错误
  9. PLUGIN_NOT_FOUND = ('PLUGIN_001', '插件不存在')
  10. PLUGIN_ALREADY_EXISTS = ('PLUGIN_002', '插件编码已存在')
  11. PLUGIN_INVALID_CONFIG = ('PLUGIN_003', '插件配置无效')
  12. # 生命周期错误
  13. PLUGIN_NOT_INSTALLED = ('PLUGIN_101', '插件未安装')
  14. PLUGIN_ALREADY_INSTALLED = ('PLUGIN_102', '插件已安装')
  15. PLUGIN_NOT_ACTIVE = ('PLUGIN_103', '插件未启用')
  16. PLUGIN_STATUS_ERROR = ('PLUGIN_104', '插件状态错误')
  17. # 版本错误
  18. VERSION_NOT_FOUND = ('PLUGIN_201', '版本不存在')
  19. VERSION_INVALID = ('PLUGIN_202', '版本号无效')
  20. VERSION_ROLLBACK_FAILED = ('PLUGIN_203', '版本回滚失败')
  21. # 测试错误
  22. TEST_FAILED = ('PLUGIN_301', '插件测试失败')
  23. TEST_TIMEOUT = ('PLUGIN_302', '插件测试超时')
  24. TEST_INPUT_INVALID = ('PLUGIN_303', '测试输入无效')
  25. # Schema 错误
  26. SCHEMA_INVALID = ('PLUGIN_401', '插件 Schema 无效')
  27. SCHEMA_MISSING_ENTRY = ('PLUGIN_402', 'Schema 缺少入口定义')
  28. SCHEMA_MISSING_PARAMS = ('PLUGIN_403', 'Schema 缺少参数定义')
  29. @classmethod
  30. def get(cls, code_tuple):
  31. """获取错误码和消息"""
  32. return code_tuple[0], code_tuple[1]
  33. @classmethod
  34. def to_dict(cls, code_tuple):
  35. """转换为字典格式"""
  36. return {'code': code_tuple[0], 'message': code_tuple[1]}