fix: smart dates
Local Docker Build (Dev) / build-dev (push) Successful in 4s

This commit is contained in:
2025-10-14 15:50:09 -04:00
parent 6fae41aef5
commit 212e51e54f
+12 -3
View File
@@ -495,20 +495,29 @@ async def get_movie_date_options(dependencies: dict, imdb_id: str):
# Option 2: Released date as digital release (if different from current) # Option 2: Released date as digital release (if different from current)
if movie.get('released') and movie['released'].strip(): if movie.get('released') and movie['released'].strip():
try: try:
release_date = f"{movie['released']}T00:00:00" released_raw = movie['released']
# Handle different released date formats
if 'T' in released_raw:
# Already has time component: 2018-07-27T00:00:00+00:00
release_date = released_raw
else:
# Just date: 2018-07-27
release_date = f"{released_raw}T00:00:00"
# Validate the date format # Validate the date format
from datetime import datetime from datetime import datetime
datetime.fromisoformat(release_date.replace('Z', '+00:00')) datetime.fromisoformat(release_date.replace('Z', '+00:00'))
# Only add if it's different from current dateadded # Only add if it's different from current dateadded
current_dateadded = movie.get('dateadded', '') current_dateadded = movie.get('dateadded', '')
if not current_dateadded or not current_dateadded.startswith(movie['released']): if not current_dateadded or not current_dateadded.startswith(released_raw[:10]): # Compare just the date part
options.append({ options.append({
"type": "digital_release", "type": "digital_release",
"label": "Use Actual Release Date", "label": "Use Actual Release Date",
"date": release_date, "date": release_date,
"source": "digital_release", "source": "digital_release",
"description": f"Use the movie's actual release date: {movie['released']} (instead of download date)" "description": f"Use the movie's actual release date: {released_raw[:10]} (instead of download date)"
}) })
except Exception as e: except Exception as e:
print(f"⚠️ Invalid released date format for {imdb_id}: {movie.get('released')} - {e}") print(f"⚠️ Invalid released date format for {imdb_id}: {movie.get('released')} - {e}")