Skip to content

Commit 5be2364

Browse files
committed
fix: SyncResult 语义/格式修复
1. ruff format 报错:SyncResult 与下一行常量之间少一行空行(PEP 8 要求顶层定义间两空行),补上。 2. ruff format 报错:sync_maps 内 logger.info 行长 107 > 100,拆多行参数。 3. SyncResult.message 语义歧义:sync_maps 之前把 _download_maps_remote 的 ready 当成 done 填进 SyncResult。但 ready 其实是"已是最新被跳过 + 本次新下载成功"的累计数,不是"本次下载条数"。当 sync 没有新文件可下时(manifest 全部 sha 匹配),message 会输出"地图更新完成(3309 条)"——用户会以为下了 3309 个文件,但实际什么都没下载。 改造: - sync_maps 改为 done=done(本次实际下载成功条数),skipped=ready-done。 - SyncResult.message 区分三种成功路径: - 0 新下载 + 全 skipped: "{name}已是最新(N 条)" - 部分 done + 部分 skipped: "{name}更新完成(新 X 条,已最新 Y 条)" - 全新下载无 skipped: "{name}更新完成(X 条)" 修复后行为示例: - 全部 sha 命中, 无新文件 → "地图已是最新(3309 条)" - 100 新下载, 3209 已最新 → "地图更新完成(新 100 条,已最新 3209 条)" - 部分失败 → "地图部分失败(成功 3200,失败 109)"
1 parent 76671e7 commit 5be2364

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

aao/resources/syncer.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,14 @@ def message(self) -> str:
4444
if self.error:
4545
return f"{self.name}更新失败:{self.error}"
4646
if self.failed == 0:
47+
if self.done == 0 and self.skipped > 0:
48+
return f"{self.name}已是最新({self.skipped} 条)"
49+
if self.skipped > 0:
50+
return f"{self.name}更新完成(新 {self.done} 条,已最新 {self.skipped} 条)"
4751
return f"{self.name}更新完成({self.done} 条)"
4852
return f"{self.name}部分失败(成功 {self.done},失败 {self.failed})"
4953

54+
5055
# 主源:GitHub dev-v2 分支(main 分支改名而来)
5156
_REPO = "MaaAssistantArknights/MaaAssistantArknights"
5257
_BRANCH = "dev-v2"
@@ -300,14 +305,22 @@ def sync_maps(proxy: str | None = None) -> SyncResult:
300305
return SyncResult(ok=False, name="地图", error="无法拉取 git/trees")
301306

302307
ready, done, failed = result
303-
logger.info("地图数据: ready=%d done=%d failed=%d, level_codes=%d 关", ready, done, failed, post_codes)
308+
# ready = skipped(此前已是最新) + done(本次新下载成功的)
309+
skipped = ready - done
310+
logger.info(
311+
"地图数据: ready=%d done=%d failed=%d, level_codes=%d 关",
312+
ready,
313+
done,
314+
failed,
315+
post_codes,
316+
)
304317
return SyncResult(
305318
ok=failed == 0,
306319
name="地图",
307-
total=ready + failed,
308-
done=ready,
320+
total=ready + failed, # 远端总条目数
321+
done=done, # 本次实际下载成功条数
309322
failed=failed,
310-
skipped=ready - done,
323+
skipped=skipped, # 已是最新被跳过的
311324
)
312325

313326

0 commit comments

Comments
 (0)