mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-07 00:16:57 +08:00
fix plugins遍历
This commit is contained in:
+18
-6
@@ -462,7 +462,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
}]
|
}]
|
||||||
"""
|
"""
|
||||||
ret_commands = []
|
ret_commands = []
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if pid and pid != plugin_id:
|
if pid and pid != plugin_id:
|
||||||
continue
|
continue
|
||||||
if hasattr(plugin, "get_command") and ObjectUtils.check_method(plugin.get_command):
|
if hasattr(plugin, "get_command") and ObjectUtils.check_method(plugin.get_command):
|
||||||
@@ -522,7 +524,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
}]
|
}]
|
||||||
"""
|
"""
|
||||||
ret_services = []
|
ret_services = []
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if pid and pid != plugin_id:
|
if pid and pid != plugin_id:
|
||||||
continue
|
continue
|
||||||
if hasattr(plugin, "get_service") and ObjectUtils.check_method(plugin.get_service):
|
if hasattr(plugin, "get_service") and ObjectUtils.check_method(plugin.get_service):
|
||||||
@@ -545,7 +549,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
ret_modules = {}
|
ret_modules = {}
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if pid and pid != plugin_id:
|
if pid and pid != plugin_id:
|
||||||
continue
|
continue
|
||||||
if hasattr(plugin, "get_module") and ObjectUtils.check_method(plugin.get_module):
|
if hasattr(plugin, "get_module") and ObjectUtils.check_method(plugin.get_module):
|
||||||
@@ -569,7 +575,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
}]
|
}]
|
||||||
"""
|
"""
|
||||||
ret_actions = []
|
ret_actions = []
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if pid and pid != plugin_id:
|
if pid and pid != plugin_id:
|
||||||
continue
|
continue
|
||||||
if hasattr(plugin, "get_actions") and ObjectUtils.check_method(plugin.get_actions):
|
if hasattr(plugin, "get_actions") and ObjectUtils.check_method(plugin.get_actions):
|
||||||
@@ -606,7 +614,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
获取插件联邦组件列表
|
获取插件联邦组件列表
|
||||||
"""
|
"""
|
||||||
remotes = []
|
remotes = []
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if pid and pid != plugin_id:
|
if pid and pid != plugin_id:
|
||||||
continue
|
continue
|
||||||
if hasattr(plugin, "get_render_mode"):
|
if hasattr(plugin, "get_render_mode"):
|
||||||
@@ -625,7 +635,9 @@ class PluginManager(metaclass=Singleton):
|
|||||||
获取所有插件仪表盘元信息
|
获取所有插件仪表盘元信息
|
||||||
"""
|
"""
|
||||||
dashboard_meta = []
|
dashboard_meta = []
|
||||||
for plugin_id, plugin in self._running_plugins.items():
|
# 创建字典快照避免并发修改
|
||||||
|
running_plugins_snapshot = dict(self._running_plugins)
|
||||||
|
for plugin_id, plugin in running_plugins_snapshot.items():
|
||||||
if not hasattr(plugin, "get_dashboard") or not ObjectUtils.check_method(plugin.get_dashboard):
|
if not hasattr(plugin, "get_dashboard") or not ObjectUtils.check_method(plugin.get_dashboard):
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user