feat: add fallback to check watch providers for movie release dates when upcoming release date is unavailable

This commit is contained in:
g0ldyy
2026-01-02 14:56:37 +01:00
parent a5844323d9
commit 6b6e466c7d
2 changed files with 20 additions and 0 deletions
+7
View File
@@ -52,6 +52,13 @@ class DigitalReleaseFilter:
release_date_str = None
if media_type == "movie":
release_date_str = await tmdb.get_upcoming_movie_release_date(tmdb_id)
if not release_date_str:
# Check watch providers as fallback
has_watch_providers = await tmdb.get_unique_watch_providers(tmdb_id)
if has_watch_providers:
# Treat as released a long time ago
release_date_str = "1970-01-01"
elif media_type == "series":
release_date_str = await tmdb.get_episode_air_date(
tmdb_id, season, episode
+13
View File
@@ -77,3 +77,16 @@ class TMDBApi:
except Exception as e:
logger.error(f"TMDB: Error converting IMDB ID {imdb_id}: {e}")
return None
async def get_unique_watch_providers(self, tmdb_id: str):
try:
url = f"{self.base_url}/movie/{tmdb_id}/watch/providers"
async with self.session.get(url, headers=self.headers) as response:
if response.status != 200:
return None
data = await response.json()
return bool(data.get("results"))
except Exception as e:
logger.error(f"TMDB: Error getting watch providers for {tmdb_id}: {e}")
return None