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