Support --no-progress for --wait-for-video

Closes #4365
This commit is contained in:
pukkandan 2022-07-16 22:11:16 +05:30
parent 5200976949
commit a7dc6a89f6
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39

View File

@ -439,12 +439,13 @@ class YoutubeDL:
* title: Section title (Optional) * title: Section title (Optional)
* index: Section number (Optional) * index: Section number (Optional)
force_keyframes_at_cuts: Re-encode the video when downloading ranges to get precise cuts 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 following parameters are not used by YoutubeDL itself, they are used by
the downloader (see yt_dlp/downloader/common.py): the downloader (see yt_dlp/downloader/common.py):
nopart, updatetime, buffersize, ratelimit, throttledratelimit, min_filesize, nopart, updatetime, buffersize, ratelimit, throttledratelimit, min_filesize,
max_filesize, test, noresizebuffer, retries, file_access_retries, fragment_retries, 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. external_downloader_args, concurrent_fragment_downloads.
The following options are used by the post processors: The following options are used by the post processors:
@ -1468,7 +1469,12 @@ def _wait_for_video(self, ie_result):
def progress(msg): def progress(msg):
nonlocal last_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 last_msg = msg
min_wait, max_wait = self.params.get('wait_for_video') min_wait, max_wait = self.params.get('wait_for_video')