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: