Despite `--title`, `--literal` etc being deprecated,
`--id` is still documented in youtube-dl and so should be kept
--print-json -j --no-simulate
--autonumber-size NUMBER Use string formatting. Eg: %(autonumber)03d
--autonumber-start NUMBER Use internal field formatting like %(autonumber+NUMBER)s
--print-json -j --no-simulate
--autonumber-size NUMBER Use string formatting. Eg: %(autonumber)03d
--autonumber-start NUMBER Use internal field formatting like %(autonumber+NUMBER)s
+ --id -o "%(id)s.%(ext)s"
--metadata-from-title FORMAT --parse-metadata "%(title)s:FORMAT"
--hls-prefer-native --downloader "m3u8:native"
--hls-prefer-ffmpeg --downloader "m3u8:ffmpeg"
--metadata-from-title FORMAT --parse-metadata "%(title)s:FORMAT"
--hls-prefer-native --downloader "m3u8:native"
--hls-prefer-ffmpeg --downloader "m3u8:ffmpeg"
#### Removed
These options were deprecated since 2014 and have now been entirely removed
#### Removed
These options were deprecated since 2014 and have now been entirely removed
- --id -o "%(id)s.%(ext)s"
-A, --auto-number -o "%(autonumber)s-%(id)s.%(ext)s"
-t, --title -o "%(title)s-%(id)s.%(ext)s"
-l, --literal -o accepts literal names
-A, --auto-number -o "%(autonumber)s-%(id)s.%(ext)s"
-t, --title -o "%(title)s-%(id)s.%(ext)s"
-l, --literal -o accepts literal names
compat_opts = opts.compat_opts
compat_opts = opts.compat_opts
+ def report_conflict(arg1, arg2):
+ warnings.append(f'{arg2} is ignored since {arg1} was given')
+
def _unused_compat_opt(name):
if name not in compat_opts:
return False
def _unused_compat_opt(name):
if name not in compat_opts:
return False
if _video_multistreams_set is False and _audio_multistreams_set is False:
_unused_compat_opt('multistreams')
outtmpl_default = opts.outtmpl.get('default')
if _video_multistreams_set is False and _audio_multistreams_set is False:
_unused_compat_opt('multistreams')
outtmpl_default = opts.outtmpl.get('default')
+ if opts.useid:
+ if outtmpl_default is None:
+ outtmpl_default = opts.outtmpl['default'] = '%(id)s.%(ext)s'
+ else:
+ report_conflict('--output', '--id')
if 'filename' in compat_opts:
if outtmpl_default is None:
if 'filename' in compat_opts:
if outtmpl_default is None:
- outtmpl_default = '%(title)s-%(id)s.%(ext)s'
- opts.outtmpl.update({'default': outtmpl_default})
+ outtmpl_default = opts.outtmpl['default'] = '%(title)s-%(id)s.%(ext)s'
else:
_unused_compat_opt('filename')
else:
_unused_compat_opt('filename')
opts.addchapters = True
opts.remove_chapters = opts.remove_chapters or []
opts.addchapters = True
opts.remove_chapters = opts.remove_chapters or []
- def report_conflict(arg1, arg2):
- warnings.append('%s is ignored since %s was given' % (arg2, arg1))
-
if (opts.remove_chapters or sponsorblock_query) and opts.sponskrub is not False:
if opts.sponskrub:
if opts.remove_chapters:
if (opts.remove_chapters or sponsorblock_query) and opts.sponskrub is not False:
if opts.sponskrub:
if opts.remove_chapters:
'--no-batch-file',
dest='batchfile', action='store_const', const=None,
help='Do not read URLs from batch file (default)')
'--no-batch-file',
dest='batchfile', action='store_const', const=None,
help='Do not read URLs from batch file (default)')
+ filesystem.add_option(
+ '--id', default=False,
+ action='store_true', dest='useid', help=optparse.SUPPRESS_HELP)
filesystem.add_option(
'-P', '--paths',
metavar='[TYPES:]PATH', dest='paths', default={}, type='str',
filesystem.add_option(
'-P', '--paths',
metavar='[TYPES:]PATH', dest='paths', default={}, type='str',