From 9fd09cd0d08b34b25a0b3c80389fc6502fdd96f2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 13:47:05 +0300 Subject: [PATCH] Handle playlist items as completed on partial errors For playlist downloads, treat an item as completed if a file was created even when the downloader returned a non-zero code. Emit 100% progress for such cases and update the status to "download.completed (with some errors)" when return_code != 0, otherwise keep the normal completed status. This avoids reporting false failures for playlist items that produced output despite errors. --- ytsage/core/ytsage_downloader.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index aa15965..7ffa0e7 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -507,7 +507,7 @@ class DownloadThread(QThread): ) return - if return_code == 0: + if return_code == 0 or (self.is_playlist and return_code != 0 and self.current_filename is not None): self.progress_signal.emit(100) # Robust file finding: Always search for the most recent file @@ -556,7 +556,10 @@ class DownloadThread(QThread): logger.error(f"Error finding final file: {e}", exc_info=True) # Set completion status - self.status_signal.emit(_("download.completed")) + if return_code != 0: + self.status_signal.emit(_("download.completed") + " (with some errors)") + else: + self.status_signal.emit(_("download.completed")) # Clean up subtitle files if they were merged, with a small delay # to ensure the embedding process has completed