From 7f7d2c9ba8c1631b884c784288532057448647f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Mon, 7 Jul 2025 21:46:17 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E9=A3=9E=E7=89=9B=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E5=BA=93=E6=8A=A5=E9=94=99`Task=20duplicate`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/trimemedia/api.py | 14 +++++++++++++- app/modules/trimemedia/trimemedia.py | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/modules/trimemedia/api.py b/app/modules/trimemedia/api.py index febfc9d7..4f13b7a2 100644 --- a/app/modules/trimemedia/api.py +++ b/app/modules/trimemedia/api.py @@ -111,7 +111,7 @@ class Api: "_api_path", "_request_utils", "_version", - "_session" + "_session", ) @property @@ -287,6 +287,18 @@ class Api: return True return False + def task_running(self): + """ + 当前正在运行的任务 + """ + if ( + res := self.__request_api("/task/running") + ) and res.success: + if res.data: + # TODO 具体正在运行的任务 + return True + return False + def __build_item(self, info: dict) -> Item: """ 构造媒体Item diff --git a/app/modules/trimemedia/trimemedia.py b/app/modules/trimemedia/trimemedia.py index 6b160809..f8fb844e 100644 --- a/app/modules/trimemedia/trimemedia.py +++ b/app/modules/trimemedia/trimemedia.py @@ -111,6 +111,8 @@ class TrimeMedia: if self._userinfo is None: return False logger.debug(f"{self._username} 成功登录飞牛影视") + # 刷新媒体库列表 + self.get_librarys() return True def disconnect(self): @@ -311,6 +313,8 @@ class TrimeMedia: logger.error("飞牛仅支持管理员账号刷新媒体库") return False + # 必须调用 否则容易误报 -14 Task duplicate + self._api.task_running() logger.info("刷新所有媒体库") return self._api.mdb_scanall() @@ -337,6 +341,8 @@ class TrimeMedia: # 媒体库去重 libraries.add(lib.guid) + # 必须调用 否则容易误报 -14 Task duplicate + self._api.task_running() for lib_guid in libraries: # 逐个刷新 lib = self._libraries[lib_guid]