fix: Add Sonarr direct lookup fallback for reliable series detection
Local Docker Build (Dev) / build-dev (push) Successful in 19s
Local Docker Build (Dev) / build-dev (push) Successful in 19s
The /series/lookup endpoint sometimes fails to find series that exist in Sonarr. Added fallback to series_by_imdb_direct() method which scans all series directly. Changes: - Try Sonarr lookup endpoint first (fast) - Fall back to direct series scan if lookup fails (slower but more reliable) - Apply same logic to both episode dates and metadata methods - Version bump to 2.0.5-sonarr-direct-lookup This should find High Potential, Breaking Bad, and other series that exist in Sonarr but weren't found via the lookup endpoint. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -187,13 +187,18 @@ class TVSeriesProcessor:
|
|||||||
return aired, dateadded, source
|
return aired, dateadded, source
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Find series in Sonarr
|
# Find series in Sonarr using lookup endpoint first
|
||||||
series = self.sonarr.series_by_imdb(imdb_id)
|
series = self.sonarr.series_by_imdb(imdb_id)
|
||||||
if not series:
|
if not series:
|
||||||
_log("WARNING", f"Series not found in Sonarr for IMDb: {imdb_id}")
|
_log("WARNING", f"Series not found via Sonarr lookup for IMDb: {imdb_id}")
|
||||||
# Don't return here - fall through to external API fallback
|
# Try direct method as fallback (slower but more reliable)
|
||||||
pass
|
_log("DEBUG", f"Trying direct series search for IMDb: {imdb_id}")
|
||||||
else:
|
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
|
# Get episodes for series
|
||||||
episodes = self.sonarr.episodes_for_series(series["id"])
|
episodes = self.sonarr.episodes_for_series(series["id"])
|
||||||
target_episode = None
|
target_episode = None
|
||||||
@@ -248,6 +253,10 @@ class TVSeriesProcessor:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
series = self.sonarr.series_by_imdb(imdb_id)
|
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:
|
if series:
|
||||||
episodes = self.sonarr.episodes_for_series(series["id"])
|
episodes = self.sonarr.episodes_for_series(series["id"])
|
||||||
for episode in episodes:
|
for episode in episodes:
|
||||||
|
|||||||
Reference in New Issue
Block a user