Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
db4bda3b73
@ -26,7 +26,6 @@ from app.utils.system import SystemUtils
|
|||||||
|
|
||||||
|
|
||||||
class PluginMonitorHandler(FileSystemEventHandler):
|
class PluginMonitorHandler(FileSystemEventHandler):
|
||||||
|
|
||||||
# 计时器
|
# 计时器
|
||||||
__reload_timer = None
|
__reload_timer = None
|
||||||
# 防抖时间间隔
|
# 防抖时间间隔
|
||||||
@ -350,6 +349,7 @@ class PluginManager(metaclass=Singleton):
|
|||||||
:param pid: 插件ID
|
:param pid: 插件ID
|
||||||
:param key: 仪表盘key
|
:param key: 仪表盘key
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __get_params_count(func: Callable):
|
def __get_params_count(func: Callable):
|
||||||
"""
|
"""
|
||||||
获取函数的参数信息
|
获取函数的参数信息
|
||||||
@ -630,14 +630,14 @@ class PluginManager(metaclass=Singleton):
|
|||||||
all_plugins.sort(
|
all_plugins.sort(
|
||||||
key=lambda x: settings.PLUGIN_MARKET.split(",").index(x.repo_url) if x.repo_url else 0
|
key=lambda x: settings.PLUGIN_MARKET.split(",").index(x.repo_url) if x.repo_url else 0
|
||||||
)
|
)
|
||||||
# 按插件ID和版本号去重,相同插件以前面的为准
|
|
||||||
result = []
|
# 相同ID的插件保留版本号最大版本
|
||||||
_dup = []
|
max_versions = {}
|
||||||
for p in all_plugins:
|
for p in all_plugins:
|
||||||
key = f"{p.id}v{p.plugin_version}"
|
if p.id not in max_versions or StringUtils.compare_version(p.plugin_version, max_versions[p.id]) > 0:
|
||||||
if key not in _dup:
|
max_versions[p.id] = p.plugin_version
|
||||||
_dup.append(key)
|
result = [p for p in all_plugins if
|
||||||
result.append(p)
|
p.plugin_version == max_versions[p.id]]
|
||||||
logger.info(f"共获取到 {len(result)} 个第三方插件")
|
logger.info(f"共获取到 {len(result)} 个第三方插件")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user