]> jfr.im git - yt-dlp.git/commitdiff
Support `--no-progress` for `--wait-for-video`
authorpukkandan <redacted>
Sat, 16 Jul 2022 16:41:16 +0000 (22:11 +0530)
committerpukkandan <redacted>
Sat, 16 Jul 2022 16:42:28 +0000 (22:12 +0530)
Closes #4365

yt_dlp/YoutubeDL.py

index a52e8b6688ac1c8d0e2f61664815fbfa7bc1ad93..ffc5ff8c06510607f4c27a5a94035332f0abf1fa 100644 (file)
@@ -439,12 +439,13 @@ class YoutubeDL:
                        * title: Section title (Optional)
                        * index: Section number (Optional)
     force_keyframes_at_cuts: Re-encode the video when downloading ranges to get precise cuts
+    noprogress:        Do not print the progress bar
 
     The following parameters are not used by YoutubeDL itself, they are used by
     the downloader (see yt_dlp/downloader/common.py):
     nopart, updatetime, buffersize, ratelimit, throttledratelimit, min_filesize,
     max_filesize, test, noresizebuffer, retries, file_access_retries, fragment_retries,
-    continuedl, noprogress, xattr_set_filesize, hls_use_mpegts, http_chunk_size,
+    continuedl, xattr_set_filesize, hls_use_mpegts, http_chunk_size,
     external_downloader_args, concurrent_fragment_downloads.
 
     The following options are used by the post processors:
@@ -1468,7 +1469,12 @@ def _wait_for_video(self, ie_result):
 
         def progress(msg):
             nonlocal last_msg
-            self.to_screen(msg + ' ' * (len(last_msg) - len(msg)) + '\r', skip_eol=True)
+            full_msg = f'{msg}\n'
+            if not self.params.get('noprogress'):
+                full_msg = msg + ' ' * (len(last_msg) - len(msg)) + '\r'
+            elif last_msg:
+                return
+            self.to_screen(full_msg, skip_eol=True)
             last_msg = msg
 
         min_wait, max_wait = self.params.get('wait_for_video')