]> jfr.im git - yt-dlp.git/commitdiff
Re-implement deprecated option `--id`
authorpukkandan <redacted>
Thu, 21 Oct 2021 23:04:22 +0000 (04:34 +0530)
committerpukkandan <redacted>
Thu, 21 Oct 2021 23:12:24 +0000 (04:42 +0530)
Despite `--title`, `--literal` etc being deprecated,
`--id` is still documented in youtube-dl and so should be kept

README.md
yt_dlp/__init__.py
yt_dlp/options.py

index cfdcadd0d54ab5a1a334e052ef0dd10c9700e7bc..3ca308f8761f34809fec45f9bed41307dde39e8d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1658,6 +1658,7 @@ #### Not recommended
     --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 @@ #### No longer supported
 #### 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
index b952cc062526c1bdadf8312a578bbd058a17ab2e..d97d4af6482c03ffe2b59d93a50303f3d0148d1f 100644 (file)
@@ -259,6 +259,9 @@ def parse_retries(retries, name=''):
 
     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 set_default_compat(compat_name, opt_name, default=True, remove_compat=True):
     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 metadataparser_actions(f):
         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:
index 0638e8642911f92e20392dcb80e89e43d81b336f..719a1bce45b005a4364db8500fef6bc0379e5527 100644 (file)
@@ -975,6 +975,9 @@ def _dict_from_options_callback(
         '--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',