mirror of
https://github.com/g0ldyy/comet.git
synced 2026-01-12 01:16:12 +01:00
Merge pull request #427 from g0ldyy/feat/movie-digital-release-fallback
feat: add fallback to check watch providers for movie release dates when upcoming release date is unavailable
This commit is contained in:
@@ -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.has_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
|
||||
|
||||
@@ -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 has_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
|
||||
|
||||
Reference in New Issue
Block a user