feat(sync): 全部历史真的是全部,不再截断在两年
730 天是个凭空写死的上限。账号有七年数据的人选「全部历史」,拿到的是 最近两年,而且没有任何提示说剩下的被丢掉了。 * 全部历史现在一直回溯到账号最早的数据:连续 EMPTY_RUN_STOP(120) 天 完全没有内容就停,所以既不会截断,也不会去问手表存在之前的年份。 MAX_HISTORY_DAYS(3650) 只是兜底,可用环境变量覆盖。 * 已经存过的日期跳过(最近 3 天除外,它们还在写入中)。这让多年的 回填变成可续传的:撞上限流停下来,冷却过后再点一次就从断点继续, 而不是每次都从今天重新爬。 * 选择器补上 3 年 / 5 年。 * 前端把每个范围的实际代价写出来,并说明中断可续。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -52,9 +52,9 @@ def sync():
|
||||
if days == -1:
|
||||
days = -1 # 自上次同步(增量)
|
||||
elif days == 0:
|
||||
days = 730 # 全部历史 → 最大范围
|
||||
days = 0 # 全部历史 — the service walks back to the real end
|
||||
else:
|
||||
days = max(1, min(days, 730))
|
||||
days = max(1, min(days, garmin_svc.MAX_HISTORY_DAYS))
|
||||
except (TypeError, ValueError):
|
||||
days = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user