Auto-select default format in -f- (#7101)

Authored by: ivanskodje, pukkandan
Closes #6720
This commit is contained in:
Ivan Skodje 2023-05-29 16:50:21 +02:00 committed by GitHub
parent 4cbfa570a1
commit 372a0f3b9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2744,21 +2744,22 @@ class YoutubeDL:
return info_dict
format_selector = self.format_selector
if format_selector is None:
req_format = self._default_format_spec(info_dict, download=download)
self.write_debug('Default format spec: %s' % req_format)
format_selector = self.build_format_selector(req_format)
while True:
if interactive_format_selection:
req_format = input(
self._format_screen('\nEnter format selector: ', self.Styles.EMPHASIS))
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))
try:
format_selector = self.build_format_selector(req_format)
format_selector = self.build_format_selector(req_format) if req_format else None
except SyntaxError as err:
self.report_error(err, tb=False, is_error=False)
continue
if format_selector is None:
req_format = self._default_format_spec(info_dict, download=download)
self.write_debug(f'Default format spec: {req_format}')
format_selector = self.build_format_selector(req_format)
formats_to_download = list(format_selector({
'formats': formats,
'has_merged_format': any('none' not in (f.get('acodec'), f.get('vcodec')) for f in formats),