From df9ed8e76b95729c327331f044b08fe60eca2358 Mon Sep 17 00:00:00 2001 From: x1ao4 Date: Wed, 28 May 2025 01:59:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B5=B7=E5=A7=8B=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8A=9F=E8=83=BD=E5=9C=A8=E9=87=8D=E5=A4=8D=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E4=BB=BB=E5=8A=A1=E6=97=B6=E5=A4=B1=E6=95=88=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quark_auto_save.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/quark_auto_save.py b/quark_auto_save.py index 89b1846..befce4d 100644 --- a/quark_auto_save.py +++ b/quark_auto_save.py @@ -1663,14 +1663,21 @@ class Quark: if share_file["dir"]: # 顺序命名模式下,未设置update_subdir时不处理文件夹 continue + # 检查文件ID是否存在于转存记录中 file_id = share_file.get("fid", "") if file_id and self.check_file_exists_in_records(file_id, task): # 文件ID已存在于记录中,跳过处理 continue + + # 指定文件开始订阅/到达指定文件(含)结束历遍 + if share_file["fid"] == task.get("startfid", ""): + break + file_size = share_file.get("size", 0) file_ext = os.path.splitext(share_file["file_name"])[1].lower() share_update_time = share_file.get("last_update_at", 0) or share_file.get("updated_at", 0) + # 检查是否已存在相同大小和扩展名的文件 key = f"{file_size}_{file_ext}" is_duplicate = False @@ -1687,13 +1694,10 @@ class Quark: # 文件已存在,跳过处理 is_duplicate = True break + # 只有非重复文件才进行处理 if not is_duplicate: filtered_share_files.append(share_file) - - # 指定文件开始订阅/到达指定文件(含)结束历遍 - if share_file["fid"] == task.get("startfid", ""): - break # 实现高级排序算法 def extract_sorting_value(file): @@ -1875,6 +1879,10 @@ class Quark: if file_id and self.check_file_exists_in_records(file_id, task): # 文件ID已存在于记录中,跳过处理 continue + + # 指定文件开始订阅/到达指定文件(含)结束历遍 + if share_file["fid"] == task.get("startfid", ""): + break # 检查文件是否已存在(通过大小和扩展名)- 新增的文件查重逻辑 is_duplicate = False @@ -2209,9 +2217,6 @@ class Quark: share_file["save_name"] = share_file["file_name"] share_file["original_name"] = share_file["file_name"] need_save_list.append(share_file) - # 指定文件开始订阅/到达指定文件(含)结束历遍 - if share_file["fid"] == task.get("startfid", ""): - break fid_list = [item["fid"] for item in need_save_list] fid_token_list = [item["share_fid_token"] for item in need_save_list] @@ -2579,6 +2584,10 @@ class Quark: if file_id and self.check_file_exists_in_records(file_id, task): # 文件ID已存在于记录中,跳过处理 continue + + # 指定文件开始订阅/到达指定文件(含)结束历遍 + if share_file["fid"] == task.get("startfid", ""): + break # 从共享文件中提取剧集号 episode_num = extract_episode_number_local(share_file["file_name"]) @@ -2629,10 +2638,6 @@ class Quark: # 只处理非重复文件 if not is_duplicate: filtered_share_files.append(share_file) - - # 指定文件开始订阅/到达指定文件(含)结束历遍 - if share_file["fid"] == task.get("startfid", ""): - break # 实现高级排序算法 def sort_by_episode(file):