aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--yt_dlp/__init__.py14
-rw-r--r--yt_dlp/options.py3
3 files changed, 13 insertions, 6 deletions
diff --git a/README.md b/README.md
index cfdcadd0d..3ca308f87 100644
--- a/README.md
+++ b/README.md
@@ -1658,6 +1658,7 @@ While these options still work, their use is not recommended since there are oth
--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"
@@ -1724,7 +1725,6 @@ These options may no longer work as intended
#### 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
diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py
index b952cc062..d97d4af64 100644
--- a/yt_dlp/__init__.py
+++ b/yt_dlp/__init__.py
@@ -259,6 +259,9 @@ def _real_main(argv=None):
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
@@ -290,10 +293,14 @@ def _real_main(argv=None):
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:
- 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')
@@ -366,9 +373,6 @@ def _real_main(argv=None):
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:
diff --git a/yt_dlp/options.py b/yt_dlp/options.py
index 0638e8642..719a1bce4 100644
--- a/yt_dlp/options.py
+++ b/yt_dlp/options.py
@@ -976,6 +976,9 @@ def parseOpts(overrideArguments=None):
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',
action='callback', callback=_dict_from_options_callback,