This commit is contained in:
Super-Passerby 2025-03-14 01:10:33 +00:00 committed by GitHub
commit 41e1488312
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,10 @@ import requests
import importlib
from datetime import datetime
# ========== 修改内容开始 ==========
MAX_SAVE_FILES = 0 # 最大保存文件数量0 为不限制保存数量
# ========== 修改内容结束 ==========
# 兼容青龙
try:
from treelib import Tree
@ -387,9 +391,20 @@ class Quark:
"__dt": int(random.uniform(1, 5) * 60 * 1000),
"__t": datetime.now().timestamp(),
}
# ========== 修改内容开始 ==========
# 当 MAX_SAVE_FILES = 0 时,不限制保存文件数量
if MAX_SAVE_FILES > 0:
files_to_save = fid_list[:MAX_SAVE_FILES]
tokens_to_save = fid_token_list[:MAX_SAVE_FILES]
else:
files_to_save = fid_list
tokens_to_save = fid_token_list
# ========== 修改内容结束 ==========
payload = {
"fid_list": fid_list,
"fid_token_list": fid_token_list,
"fid_list": files_to_save, # 修改为 files_to_save
"fid_token_list": tokens_to_save, # 修改为 tokens_to_save
"to_pdir_fid": to_pdir_fid,
"pwd_id": pwd_id,
"stoken": stoken,
@ -727,7 +742,13 @@ class Quark:
# 指定文件开始订阅/到达指定文件(含)结束历遍
if share_file["fid"] == task.get("startfid", ""):
break
# ========== 修改内容开始 ==========
# 当 MAX_SAVE_FILES = 0 时,不限制保存文件数量
if MAX_SAVE_FILES > 0:
need_save_list = need_save_list[:MAX_SAVE_FILES]
# ========== 修改内容结束 ==========
fid_list = [item["fid"] for item in need_save_list]
fid_token_list = [item["share_fid_token"] for item in need_save_list]
if fid_list:
@ -869,6 +890,11 @@ def do_save(account, tasklist=[]):
# 获取全部保存目录fid
account.update_savepath_fid(tasklist)
# ========== 修改内容开始 ==========
# 初始化计数器
total_files_transferred = 0 # 无论 MAX_SAVE_FILES 的值如何,都初始化计数器
# ========== 修改内容结束 ==========
def check_date(task):
return (
not task.get("enddate")
@ -886,6 +912,12 @@ def do_save(account, tasklist=[]):
for index, task in enumerate(tasklist):
# 判断任务期限
if check_date(task):
# ========== 修改内容开始 ==========
# 当 MAX_SAVE_FILES > 0 时,检查是否已转存超过限制
if MAX_SAVE_FILES > 0 and total_files_transferred >= MAX_SAVE_FILES:
print("⚠️ 已达到转存文件总数上限,停止转存任务")
break
# ========== 修改内容结束 ==========
print()
print(f"#{index+1}------------------")
print(f"任务名称: {task['taskname']}")
@ -902,6 +934,13 @@ def do_save(account, tasklist=[]):
print()
is_new_tree = account.do_save_task(task)
is_rename = account.do_rename_task(task)
# ========== 修改内容开始 ==========
# 当 MAX_SAVE_FILES > 0 时,更新计数器
if MAX_SAVE_FILES > 0 and (is_new_tree or is_rename):
total_files_transferred += 1 # 每成功转存或重命名一个文件计数器加1
# ========== 修改内容结束 ==========
# 补充任务的插件配置
def merge_dicts(a, b):