mirror of
https://github.com/thsrite/MoviePilot-Plugins.git
synced 2026-06-03 07:26:47 +00:00
fix 插件重载
This commit is contained in:
@@ -16,8 +16,8 @@ MoviePilot三方插件市场:https://github.com/thsrite/MoviePilot-Plugins/
|
||||
- 清理订阅缓存 1.0
|
||||
- 添加种子下载 1.0
|
||||
- 删除站点种子 1.1
|
||||
- 插件更新管理 1.5
|
||||
- 插件强制重装 1.2
|
||||
- 插件更新管理 1.6
|
||||
- 插件强制重装 1.3
|
||||
- 群辉Webhook通知 1.1
|
||||
- 同步CookieCloud 1.2
|
||||
- 日程提醒 1.0
|
||||
|
||||
@@ -77,11 +77,12 @@
|
||||
"PluginAutoUpdate": {
|
||||
"name": "插件更新管理",
|
||||
"description": "监测已安装插件,推送更新提醒,可配置自动更新。",
|
||||
"version": "1.5",
|
||||
"version": "1.6",
|
||||
"icon": "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png",
|
||||
"author": "thsrite",
|
||||
"level": 1,
|
||||
"history": {
|
||||
"v1.6": "插件重载",
|
||||
"v1.5": "自动更新增加排除列表",
|
||||
"v1.4": "正在运行的插件跳过更新,可选更新插件列表",
|
||||
"v1.3": "配置更新提醒",
|
||||
@@ -93,11 +94,12 @@
|
||||
"PluginReInstall": {
|
||||
"name": "插件强制重装",
|
||||
"description": "卸载当前插件,强制重装。",
|
||||
"version": "1.2",
|
||||
"version": "1.3",
|
||||
"icon": "refresh.png",
|
||||
"author": "thsrite",
|
||||
"level": 1,
|
||||
"history": {
|
||||
"v1.3": "插件重载",
|
||||
"v1.2": "支持指定插件仓库地址",
|
||||
"v1.1": "修复插件重载",
|
||||
"v1.0": "卸载当前插件,强制重装"
|
||||
|
||||
@@ -24,7 +24,7 @@ class PluginAutoUpdate(_PluginBase):
|
||||
# 插件图标
|
||||
plugin_icon = "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png"
|
||||
# 插件版本
|
||||
plugin_version = "1.5"
|
||||
plugin_version = "1.6"
|
||||
# 插件作者
|
||||
plugin_author = "thsrite"
|
||||
# 作者主页
|
||||
@@ -66,8 +66,6 @@ class PluginAutoUpdate(_PluginBase):
|
||||
self._exclude_ids = config.get("exclude_ids")
|
||||
|
||||
if self._enabled:
|
||||
# 已安装插件版本
|
||||
self.__get_install_plugin_version()
|
||||
# 定时服务
|
||||
self._scheduler = BackgroundScheduler(timezone=settings.TZ)
|
||||
|
||||
@@ -116,6 +114,9 @@ class PluginAutoUpdate(_PluginBase):
|
||||
logger.error("未获取到在线插件,停止运行")
|
||||
return
|
||||
|
||||
# 已安装插件版本
|
||||
self.__get_install_plugin_version()
|
||||
|
||||
# 系统运行的服务
|
||||
schedulers = Scheduler().list()
|
||||
running_scheduler = []
|
||||
@@ -162,6 +163,13 @@ class PluginAutoUpdate(_PluginBase):
|
||||
plugin_reload = True
|
||||
title = f"插件 {plugin.plugin_name} 更新成功"
|
||||
logger.info(f"{title} {version_text}")
|
||||
|
||||
# 统计
|
||||
PluginHelper().install_reg(plugin.id)
|
||||
# 加载插件到内存
|
||||
PluginManager().reload_plugin(plugin.id)
|
||||
# 注册插件服务
|
||||
Scheduler().update_plugin_job(plugin.id)
|
||||
else:
|
||||
title = f"插件 {plugin.plugin_name} 有更新啦"
|
||||
|
||||
@@ -184,11 +192,7 @@ class PluginAutoUpdate(_PluginBase):
|
||||
image=plugin_icon)
|
||||
|
||||
# 重载插件管理器
|
||||
if plugin_reload:
|
||||
if self._update:
|
||||
logger.info("开始插件重载")
|
||||
PluginManager().init_config()
|
||||
else:
|
||||
if not plugin_reload:
|
||||
logger.info("所有插件已是最新版本")
|
||||
|
||||
def __get_install_plugin_version(self):
|
||||
|
||||
@@ -9,6 +9,7 @@ from typing import Any, List, Dict, Tuple, Optional
|
||||
from app.log import logger
|
||||
from app.schemas.types import SystemConfigKey
|
||||
from app.utils.string import StringUtils
|
||||
from app.scheduler import Scheduler
|
||||
|
||||
|
||||
class PluginReInstall(_PluginBase):
|
||||
@@ -19,7 +20,7 @@ class PluginReInstall(_PluginBase):
|
||||
# 插件图标
|
||||
plugin_icon = "refresh.png"
|
||||
# 插件版本
|
||||
plugin_version = "1.2"
|
||||
plugin_version = "1.3"
|
||||
# 插件作者
|
||||
plugin_author = "thsrite"
|
||||
# 作者主页
|
||||
@@ -63,7 +64,6 @@ class PluginReInstall(_PluginBase):
|
||||
local_plugins = self.get_local_plugins()
|
||||
|
||||
# 开始重载插件
|
||||
plugin_reload = False
|
||||
for plugin_id in list(local_plugins.keys()):
|
||||
local_plugin = local_plugins.get(plugin_id)
|
||||
if plugin_id in self._plugin_ids:
|
||||
@@ -80,12 +80,14 @@ class PluginReInstall(_PluginBase):
|
||||
|
||||
logger.info(
|
||||
f"插件 {local_plugin.get('plugin_name')} 重装成功,当前版本 {local_plugin.get('plugin_version')}")
|
||||
plugin_reload = True
|
||||
|
||||
# 重载插件管理器
|
||||
if plugin_reload:
|
||||
logger.info("开始插件重载")
|
||||
PluginManager().init_config()
|
||||
# 统计
|
||||
PluginHelper().install_reg(plugin_id)
|
||||
# 加载插件到内存
|
||||
PluginManager().reload_plugin(plugin_id)
|
||||
# 注册插件服务
|
||||
Scheduler().update_plugin_job(plugin_id)
|
||||
|
||||
|
||||
@staticmethod
|
||||
def get_repo_info(repo_url: str) -> Tuple[Optional[str], Optional[str]]:
|
||||
|
||||
Reference in New Issue
Block a user