From e23ef8fd0927f62a83f0bd0615ad70ecc2616b79 Mon Sep 17 00:00:00 2001 From: fchinembiri Date: Fri, 10 Jul 2026 08:23:12 +0200 Subject: [PATCH] fix(musicseerr): handle internal spotDL errors when return code is 0 --- apps/musicseerr/tasks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/musicseerr/tasks.py b/apps/musicseerr/tasks.py index 0cac9a8..0267599 100644 --- a/apps/musicseerr/tasks.py +++ b/apps/musicseerr/tasks.py @@ -425,7 +425,8 @@ def run_download_task(task_id: str, query: str, proxy_url: str, jobs_dict: dict, logger.info(f"[{task_id}] [Track {idx+1}] Trying spotDL...") result = subprocess.run(cmd, cwd=temp_dir, env=env, capture_output=True, text=True) - if result.returncode == 0: + has_error = "AudioProviderError" in result.stdout or "AudioProviderError" in result.stderr or "LookupError" in result.stdout or "LookupError" in result.stderr or "JSONDecodeError" in result.stdout or "JSONDecodeError" in result.stderr + if result.returncode == 0 and not has_error: logger.info(f"[{task_id}] [Track {idx+1}] spotDL succeeded.") track_success = True else: @@ -504,7 +505,8 @@ def run_download_task(task_id: str, query: str, proxy_url: str, jobs_dict: dict, # Run spotDL in the temp directory result = subprocess.run(cmd, cwd=temp_dir, env=env, capture_output=True, text=True) - if result.returncode == 0: + has_error = "AudioProviderError" in result.stdout or "AudioProviderError" in result.stderr or "LookupError" in result.stdout or "LookupError" in result.stderr or "JSONDecodeError" in result.stdout or "JSONDecodeError" in result.stderr + if result.returncode == 0 and not has_error: logger.info(f"[{task_id}] spotDL download succeeded.") download_successful = True else: