diff --git a/VERSION b/VERSION index bf337ce..90648db 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.4-fallback-fix +2.0.5-sonarr-direct-lookup diff --git a/processors/tv_series_processor.py b/processors/tv_series_processor.py index facb061..18110f3 100644 --- a/processors/tv_series_processor.py +++ b/processors/tv_series_processor.py @@ -187,13 +187,18 @@ class TVSeriesProcessor: return aired, dateadded, source try: - # Find series in Sonarr + # Find series in Sonarr using lookup endpoint first series = self.sonarr.series_by_imdb(imdb_id) if not series: - _log("WARNING", f"Series not found in Sonarr for IMDb: {imdb_id}") - # Don't return here - fall through to external API fallback - pass - else: + _log("WARNING", f"Series not found via Sonarr lookup for IMDb: {imdb_id}") + # Try direct method as fallback (slower but more reliable) + _log("DEBUG", f"Trying direct series search for IMDb: {imdb_id}") + series = self.sonarr.series_by_imdb_direct(imdb_id) + if not series: + _log("WARNING", f"Series not found via direct search either for IMDb: {imdb_id}") + # Fall through to external API fallback + + if series: # Get episodes for series episodes = self.sonarr.episodes_for_series(series["id"]) target_episode = None @@ -248,6 +253,10 @@ class TVSeriesProcessor: try: series = self.sonarr.series_by_imdb(imdb_id) + if not series: + # Try direct method as fallback + series = self.sonarr.series_by_imdb_direct(imdb_id) + if series: episodes = self.sonarr.episodes_for_series(series["id"]) for episode in episodes: