Skip to content

Commit f29dc4d

Browse files
committed
feat: 为下载源添加最终版本处理逻辑
- 在pyproject.toml中将版本号从1.1.34更新到1.1.35 - 在DownloadSource类中添加final字段检查逻辑 - 当订阅源标记为最终版本时,跳过后续的MD5检查和候选列表添加流程 - 优化代码逻辑,避免对最终版本订阅源进行不必要的处理 此更改提高了下载源管理的效率,对于标记为最终版本的订阅源, 系统将不再进行重复的MD5校验和候选列表更新操作。
1 parent d11a4fb commit f29dc4d

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "funread"
3-
version = "1.1.34"
3+
version = "1.1.35"
44
description = "一个用于管理和处理阅读源(Legado 阅读 APP 的书源和 RSS 源)的 Python 工具库"
55
readme = "README.md"
66
requires-python = ">=3.8"

src/funread/legado/manage/download/base.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,12 @@ def add_source_to_candidate(
137137
"hostname": url_info.get("hostname", ""),
138138
}
139139

140+
# 订阅源是否是最终版本
141+
data["final"] = False if "final" not in data else data["final"]
142+
143+
# 是最终版本,直接返回
144+
if data["final"]:
145+
return
140146
# 收集所有已存在的 MD5 值
141147
md5_list: List[str] = []
142148
for key in ("merged", "candidate"):
@@ -145,7 +151,7 @@ def add_source_to_candidate(
145151
if "md5_list" in item:
146152
md5_list.extend(item["md5_list"])
147153

148-
# 如果 MD5 不存在,添加到候选列表
154+
# 如果 MD5 不存在,添加到候选列表
149155
if md5 not in md5_list:
150156
data["candidate"].append({"md5_list": [md5], "source": source})
151157

0 commit comments

Comments
 (0)