mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
优化插件商店数据源类的插件查询逻辑
简化了ShopManage类中查询插件信息的逻辑。通过新增的_resolve_plugin_key类方法来解析插件ID或模块名,如果解析失败则捕获ValueError异常并返回错误信息。这样可以更清晰地处理插件查询逻辑,并避免冗余代码。
This commit is contained in:
parent
397c786b85
commit
015809595b
@ -185,17 +185,10 @@ class ShopManage:
|
|||||||
str: 返回消息
|
str: 返回消息
|
||||||
"""
|
"""
|
||||||
data: dict[str, StorePluginInfo] = await cls.get_data()
|
data: dict[str, StorePluginInfo] = await cls.get_data()
|
||||||
if isinstance(plugin_id, int) and (plugin_id < 0 or plugin_id >= len(data)):
|
try:
|
||||||
return "插件ID不存在..."
|
plugin_key = await cls._resolve_plugin_key(plugin_id)
|
||||||
elif isinstance(plugin_id, str) and plugin_id not in [
|
except ValueError as e:
|
||||||
v.module for k, v in data.items()
|
return str(e)
|
||||||
]:
|
|
||||||
return "插件Module不存在..."
|
|
||||||
plugin_key = (
|
|
||||||
list(data.keys())[plugin_id]
|
|
||||||
if isinstance(plugin_id, int)
|
|
||||||
else {v.module: k for k, v in data.items()}[plugin_id]
|
|
||||||
)
|
|
||||||
plugin_list = await cls.get_loaded_plugins("module")
|
plugin_list = await cls.get_loaded_plugins("module")
|
||||||
plugin_info = data[plugin_key]
|
plugin_info = data[plugin_key]
|
||||||
if plugin_info.module in [p[0] for p in plugin_list]:
|
if plugin_info.module in [p[0] for p in plugin_list]:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user