forked from hanxi/xiaomusic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheck_plugins.py
More file actions
67 lines (47 loc) · 1.63 KB
/
check_plugins.py
File metadata and controls
67 lines (47 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env python3
"""
检查所有插件的加载状态
"""
import sys
sys.path.append(".")
from xiaomusic.config import Config
from xiaomusic.js_plugin_manager import JSPluginManager
def check_all_plugins():
print("=== 检查所有插件加载状态 ===\n")
config = Config()
config.verbose = True
class SimpleLogger:
def info(self, msg):
print(f"[INFO] {msg}")
def error(self, msg):
print(f"[ERROR] {msg}")
def debug(self, msg):
print(f"[DEBUG] {msg}")
print("1. 创建插件管理器...")
manager = JSPluginManager(None)
manager.config = config
manager.log = SimpleLogger()
import time
time.sleep(3) # 等待插件加载
print("\n2. 获取所有插件状态...")
plugins = manager.refresh_plugin_list()
print(f" 总共找到 {len(plugins)} 个插件")
# 分类插件状态
working_plugins = []
failed_plugins = []
for plugin in plugins:
if plugin.get("loaded", False) and plugin.get("enabled", False):
working_plugins.append(plugin)
else:
failed_plugins.append(plugin)
print(f"\n 正常工作的插件 ({len(working_plugins)} 个):")
for plugin in working_plugins:
print(f" ✓ {plugin['name']}")
print(f"\n 失败的插件 ({len(failed_plugins)} 个):")
for plugin in failed_plugins:
print(f" ✗ {plugin['name']}: {plugin.get('error', 'Unknown error')}")
# 清理
if hasattr(manager, "node_process") and manager.node_process:
manager.node_process.terminate()
if __name__ == "__main__":
check_all_plugins()