This commit is contained in:
@@ -222,7 +222,7 @@ class SonarrClient:
|
||||
import_date = earliest_import["date"]
|
||||
_log("INFO", f"Found import date: {import_date} for episode {episode_id}")
|
||||
|
||||
# Check if this import is likely a recent re-download/upgrade
|
||||
# Check chronological order of events
|
||||
if rename_events:
|
||||
earliest_rename = min(rename_events, key=lambda x: x["date"])
|
||||
rename_date = earliest_rename["date"]
|
||||
@@ -230,13 +230,15 @@ class SonarrClient:
|
||||
try:
|
||||
import_dt = datetime.fromisoformat(import_date.replace("Z", "+00:00"))
|
||||
rename_dt = datetime.fromisoformat(rename_date.replace("Z", "+00:00"))
|
||||
days_diff = (import_dt - rename_dt).days
|
||||
|
||||
# If import is significantly after rename, this is likely a re-download
|
||||
# The original import likely happened much earlier (possibly lost from history)
|
||||
# Return None to trigger aired date fallback instead of using rename date
|
||||
if days_diff > 30:
|
||||
_log("WARNING", f"Import {import_date} is {days_diff} days after rename {rename_date} - this looks like a re-download, using aired date fallback")
|
||||
# If import happened BEFORE rename, it's valid original import
|
||||
if import_dt <= rename_dt:
|
||||
_log("INFO", f"Import {import_date} happened before/during rename {rename_date} - using import date")
|
||||
return import_date
|
||||
|
||||
# If rename happened BEFORE import - always use aired date fallback
|
||||
else:
|
||||
_log("WARNING", f"Rename {rename_date} happened before import {import_date} - using aired date fallback")
|
||||
return None # Trigger aired date fallback
|
||||
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user