From 7d17888be8736b238bd223be96e9c449f7d3a213 Mon Sep 17 00:00:00 2001 From: ytshen Date: Tue, 23 Dec 2025 18:33:57 +0800 Subject: [PATCH] fix: only update last_checked when cache actually changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid unnecessary file modifications by only updating last_checked when there are new releases added or old releases deleted. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/zotero_scraper/services/cache_builder.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/zotero_scraper/services/cache_builder.py b/src/zotero_scraper/services/cache_builder.py index 8902cb9..0ab8ecc 100644 --- a/src/zotero_scraper/services/cache_builder.py +++ b/src/zotero_scraper/services/cache_builder.py @@ -232,7 +232,9 @@ class ReleaseCacheBuilder: if not tags_to_process: logger.debug(f"{repo}: No new releases to process") - self.cache.update_repo_checked_time(repo) + # Only update last_checked if there were deleted releases + if deleted_tags: + self.cache.update_repo_checked_time(repo) return {"new_releases": 0, "deleted_releases": len(deleted_tags)} logger.info(f"{repo}: Processing {len(tags_to_process)} new releases") @@ -263,7 +265,9 @@ class ReleaseCacheBuilder: self.cache.add_release(repo, cached) logger.debug(f"{repo}@{tag}: Parse failed, cached as failed") - self.cache.update_repo_checked_time(repo) + # Only update last_checked if there were actual changes + if new_count > 0 or deleted_tags: + self.cache.update_repo_checked_time(repo) return {"new_releases": new_count, "deleted_releases": len(deleted_tags)}