From 2198d796b93551f138da2ec6e0a9c68d67af1612 Mon Sep 17 00:00:00 2001 From: SBCrumb Date: Tue, 9 Sep 2025 17:20:33 -0400 Subject: [PATCH] fix order --- clients/radarr_db_client.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/clients/radarr_db_client.py b/clients/radarr_db_client.py index eb85f03..8cd7f47 100644 --- a/clients/radarr_db_client.py +++ b/clients/radarr_db_client.py @@ -167,7 +167,7 @@ class RadarrDbClient: def get_earliest_import_date(self, movie_id: int) -> Tuple[Optional[str], str]: """ - Get earliest import date from History table + Get earliest import date from History table, accounting for upgrade scenarios Args: movie_id: Radarr movie ID @@ -175,6 +175,11 @@ class RadarrDbClient: Returns: (date_iso, source_description) """ + # If first event is rename, all subsequent imports are upgrades - skip them + if self.is_first_event_rename_based(movie_id): + _log("INFO", f"Movie {movie_id} has rename-first history - all imports are upgrades, skipping") + return None, "radarr:db.upgrade_imports_skipped" + # Query for earliest import event - PostgreSQL uses INTEGER EventType (3 = import) import_query = """ SELECT @@ -346,14 +351,14 @@ class RadarrDbClient: Returns: (date_iso, source_description) """ - # Try history first - always check for true import dates + # Try history first - this handles upgrade detection internally date_iso, source = self.get_earliest_import_date(movie_id) if date_iso: return date_iso, source - # If no true import found, check if first event is rename-based (upgrade scenario) - if self.is_first_event_rename_based(movie_id): - _log("INFO", f"Movie {movie_id} has rename-first history with no true import - signaling to prefer release dates") + # Check if we skipped upgrades and should prefer release dates + if source == "radarr:db.upgrade_imports_skipped": + _log("INFO", f"Movie {movie_id} upgrade scenario detected - signaling to prefer release dates") return None, "radarr:db.prefer_release_dates" # Fallback to file date if requested