From 15cc02b08350188e94f22cd7bfb3472452c48d4a Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 26 Dec 2024 19:25:23 +0800 Subject: [PATCH] fix transfer count --- app/chain/transfer.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/chain/transfer.py b/app/chain/transfer.py index 562e48cf..44372148 100644 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -216,6 +216,17 @@ class JobManager: with job_lock: return all([job["state"] == "completed" for job in self._job_view[__mediaid__]["tasks"]]) + def count(self, media: MediaInfo, season: int = None) -> int: + """ + 获取某项任务总数 + """ + __mediaid__ = self.__get_id(media=media, season=season) + with job_lock: + # 计算状态为完成的任务数 + if __mediaid__ not in self._job_view: + return 0 + return len([task for task in self._job_view[__mediaid__]["tasks"] if task["state"] == "completed"]) + def total(self) -> int: """ 获取所有task任务总数 @@ -356,6 +367,8 @@ class TransferChain(ChainBase, metaclass=Singleton): se_str = f"{task.meta.season} {StringUtils.format_ep(season_episodes)}" else: se_str = f"{task.meta.season}" + # 更新文件数量 + transferinfo.file_count = self.jobview.count(task.mediainfo, task.meta.begin_season) or 1 self.send_transfer_message(meta=task.meta, mediainfo=task.mediainfo, transferinfo=transferinfo,