fix plugin state

This commit is contained in:
jxxghp 2023-08-03 18:09:55 +08:00
parent 79a57b0576
commit 803717d4c3
2 changed files with 20 additions and 13 deletions

View File

@ -186,8 +186,11 @@ class PluginManager(metaclass=Singleton):
else:
conf.update({"installed": False})
# 运行状态
if hasattr(plugin, "get_state"):
conf.update({"state": plugin.get_state()})
if pid in self._running_plugins.keys() and hasattr(plugin, "get_state"):
plugin_obj = self._running_plugins.get(pid)
conf.update({"state": plugin_obj.get_state()})
else:
conf.update({"state": False})
# 名称
if hasattr(plugin, "plugin_name"):
conf.update({"plugin_name": plugin.plugin_name})

View File

@ -1,3 +1,5 @@
from typing import Optional
from pydantic import BaseModel
@ -7,24 +9,26 @@ class Plugin(BaseModel):
"""
id: str = None
# 插件名称
plugin_name: str = None
plugin_name: Optional[str] = None
# 插件描述
plugin_desc: str = None
plugin_desc: Optional[str] = None
# 插件图标
plugin_icon: str = None
plugin_icon: Optional[str] = None
# 主题色
plugin_color: str = None
plugin_color: Optional[str] = None
# 插件版本
plugin_version: str = None
plugin_version: Optional[str] = None
# 插件作者
plugin_author: str = None
plugin_author: Optional[str] = None
# 作者主页
author_url: str = None
author_url: Optional[str] = None
# 插件配置项ID前缀
plugin_config_prefix: str = None
plugin_config_prefix: Optional[str] = None
# 加载顺序
plugin_order: int = 0
plugin_order: Optional[int] = 0
# 可使用的用户级别
auth_level: int = 0
auth_level: Optional[int] = 0
# 是否已安装
installed: bool = False
installed: Optional[bool] = False
# 运行状态
state: Optional[bool] = False