Compare commits

...

4 Commits

Author SHA1 Message Date
jenfonro
cdf826a742
Merge c20a31773e into 5809871cf1 2025-06-26 11:55:53 +00:00
jenfonro
c20a31773e
♻️ 增加获取文件列表失败提示
有2个原因会导致代码报错:
1.api刷新的为最底层目录,如果保存的目录被删除且上层目录未刷新时,获取的是假的文件列表,可能会为空,则报错
2.网络不好获取目录失败
增加提示告诉用户原因
2025-06-26 19:55:49 +08:00
jenfonro
5aecad7f03
♻️ 不再同步所有子文件夹 2025-06-26 19:36:22 +08:00
Cp0204
5809871cf1 优化自定义排序逻辑
Some checks failed
Docker Publish / build-and-push (push) Has been cancelled
- 自定义排序键一次替换改为完整替换
- 在优先级列表中添加"百"、"千"、"万"
- 排序因素加入间隔符,避免影响相邻数字自然排序
2025-06-26 18:56:34 +08:00
2 changed files with 13 additions and 8 deletions

View File

@ -164,7 +164,9 @@ class Alist_sync:
# 获取网盘已有文件
source_dir_list = self.get_path_list(self.source_path)
if not source_dir_list:
print("获取夸克文件列表失败请检查网络或手动刷新alist中的夸克目录")
return 0
if self.tv_mode == 0 or self.tv_mode == "":
self.tv_mode = False
else:
@ -228,11 +230,11 @@ class Alist_sync:
.lower()
)
for target_list in target_dir_list:
if source_list["is_dir"]:
# print(f"跳过目录同步")
skip = True
break
if self.tv_mode:
if source_list["is_dir"]:
# print(f"跳过目录同步")
skip = True
break
target_list_filename = (
target_list["name"]
.replace(".mp4", "")

View File

@ -195,6 +195,9 @@ class MagicRename:
"",
"",
"",
"",
"",
"",
]
def __init__(self, magic_regex={}, magic_variable={}):
@ -259,14 +262,14 @@ class MagicRename:
"""自定义排序键"""
for i, keyword in enumerate(self.priority_list):
if keyword in name:
return name.replace(keyword, f"{i:02d}") # 替换为数字,方便排序
name = name.replace(keyword, f"_{i:02d}_") # 替换为数字,方便排序
return name
def sort_file_list(self, file_list, dir_filename_dict={}):
"""文件列表统一排序,给{I+}赋值"""
filename_list = [
# 强制加入`文件修改时间`字段供排序效果1无可排序字符时则按修改时间排序2和目录已有文件重名时始终在其后
f"{f['file_name_re']}{f['updated_at']}"
f"{f['file_name_re']}_{f['updated_at']}"
for f in file_list
if f.get("file_name_re") and not f["dir"]
]
@ -289,7 +292,7 @@ class MagicRename:
if file.get("file_name_re"):
if match := re.search(r"\{I+\}", file["file_name_re"]):
i = filename_index.get(
f"{file['file_name_re']}{file['updated_at']}", 0
f"{file['file_name_re']}_{file['updated_at']}", 0
)
file["file_name_re"] = re.sub(
match.group(),