Compare commits

...

2 Commits

Author SHA1 Message Date
N/Ame
5bf91072bc
Fix concurrent formats downloading to stdout (#15617)
Authored by: grqz
2026-01-28 03:57:09 +00:00
N/Ame
1829a53a54
Fix interactive format/video selection when downloading to stdout (#15626)
Authored by: grqz
2026-01-28 01:11:19 +00:00

View File

@ -1602,8 +1602,10 @@ class YoutubeDL:
if ret is NO_DEFAULT:
while True:
filename = self._format_screen(self.prepare_filename(info_dict), self.Styles.FILENAME)
reply = input(self._format_screen(
f'Download "{filename}"? (Y/n): ', self.Styles.EMPHASIS)).lower().strip()
self.to_screen(
self._format_screen(f'Download "{filename}"? (Y/n): ', self.Styles.EMPHASIS),
skip_eol=True)
reply = input().lower().strip()
if reply in {'y', ''}:
return None
elif reply == 'n':
@ -3030,9 +3032,10 @@ class YoutubeDL:
# Bypass interactive format selection if no formats & --ignore-no-formats-error
formats_to_download = None
break
req_format = input(self._format_screen('\nEnter format selector ', self.Styles.EMPHASIS)
+ '(Press ENTER for default, or Ctrl+C to quit)'
+ self._format_screen(': ', self.Styles.EMPHASIS))
self.to_screen(self._format_screen('\nEnter format selector ', self.Styles.EMPHASIS)
+ '(Press ENTER for default, or Ctrl+C to quit)'
+ self._format_screen(': ', self.Styles.EMPHASIS), skip_eol=True)
req_format = input()
try:
format_selector = self.build_format_selector(req_format) if req_format else None
except SyntaxError as err:
@ -3478,11 +3481,12 @@ class YoutubeDL:
if dl_filename is not None:
self.report_file_already_downloaded(dl_filename)
elif fd:
for f in info_dict['requested_formats'] if fd != FFmpegFD else []:
f['filepath'] = fname = prepend_extension(
correct_ext(temp_filename, info_dict['ext']),
'f{}'.format(f['format_id']), info_dict['ext'])
downloaded.append(fname)
if fd != FFmpegFD and temp_filename != '-':
for f in info_dict['requested_formats']:
f['filepath'] = fname = prepend_extension(
correct_ext(temp_filename, info_dict['ext']),
'f{}'.format(f['format_id']), info_dict['ext'])
downloaded.append(fname)
info_dict['url'] = '\n'.join(f['url'] for f in info_dict['requested_formats'])
success, real_download = self.dl(temp_filename, info_dict)
info_dict['__real_download'] = real_download