yt-dlp 2026.1.4.233103.dev0__py3-none-any.whl → 2026.1.5.233118.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,9 @@ class MetadataParserPP(PostProcessor):
42
42
  to a regex like
43
43
  '(?P<title>.+)\ \-\ (?P<artist>.+)'
44
44
  """
45
+ if re.fullmatch(r'\w+', fmt):
46
+ # convert a single field name into regex pattern that matches the entire input
47
+ return rf'(?s)(?P<{fmt}>.+)'
45
48
  if not re.search(r'%\(\w+\)s', fmt):
46
49
  return fmt
47
50
  lastpos = 0
yt_dlp/version.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # Autogenerated by devscripts/update-version.py
2
2
 
3
- __version__ = '2026.01.04.233103'
3
+ __version__ = '2026.01.05.233118'
4
4
 
5
- RELEASE_GIT_HEAD = 'ba499ab0dcf2486d97f739e155264b305e0abd26'
5
+ RELEASE_GIT_HEAD = 'cec1f1df792fe521fff2d5ca54b5c70094b3d96a'
6
6
 
7
7
  VARIANT = 'pip'
8
8
 
@@ -12,4 +12,4 @@ CHANNEL = 'nightly'
12
12
 
13
13
  ORIGIN = 'yt-dlp/yt-dlp-nightly-builds'
14
14
 
15
- _pkg_version = '2026.01.04.233103dev'
15
+ _pkg_version = '2026.01.05.233118dev'
@@ -2255,6 +2255,9 @@ Modifying metadata examples
2255
2255
  # Regex example
2256
2256
  $ yt-dlp --parse-metadata "description:Artist - (?P<artist>.+)"
2257
2257
 
2258
+ # Copy the episode field to the title field (with FROM and TO as single fields)
2259
+ $ yt-dlp --parse-metadata "episode:title"
2260
+
2258
2261
  # Set title as "Series name S01E05"
2259
2262
  $ yt-dlp --parse-metadata "%(series)s S%(season_number)02dE%(episode_number)02d:%(title)s"
2260
2263
 
@@ -2641,6 +2641,9 @@ $ yt-dlp --parse-metadata \[dq]title:%(artist)s - %(title)s\[dq]
2641
2641
  # Regex example
2642
2642
  $ yt-dlp --parse-metadata \[dq]description:Artist - (?P<artist>.+)\[dq]
2643
2643
 
2644
+ # Copy the episode field to the title field (with FROM and TO as single fields)
2645
+ $ yt-dlp --parse-metadata \[dq]episode:title\[dq]
2646
+
2644
2647
  # Set title as \[dq]Series name S01E05\[dq]
2645
2648
  $ yt-dlp --parse-metadata \[dq]%(series)s S%(season_number)02dE%(episode_number)02d:%(title)s\[dq]
2646
2649
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2026.1.4.233103.dev0
3
+ Version: 2026.1.5.233118.dev0
4
4
  Summary: A feature-rich command-line audio/video downloader
5
5
  Project-URL: Documentation, https://github.com/yt-dlp/yt-dlp#readme
6
6
  Project-URL: Repository, https://github.com/yt-dlp/yt-dlp
@@ -1890,6 +1890,9 @@ $ yt-dlp --parse-metadata "title:%(artist)s - %(title)s"
1890
1890
  # Regex example
1891
1891
  $ yt-dlp --parse-metadata "description:Artist - (?P<artist>.+)"
1892
1892
 
1893
+ # Copy the episode field to the title field (with FROM and TO as single fields)
1894
+ $ yt-dlp --parse-metadata "episode:title"
1895
+
1893
1896
  # Set title as "Series name S01E05"
1894
1897
  $ yt-dlp --parse-metadata "%(series)s S%(season_number)02dE%(episode_number)02d:%(title)s"
1895
1898
 
@@ -11,7 +11,7 @@ yt_dlp/options.py,sha256=72Qipr6jhFUO4gUPTIJsqYeHujnZi1L1GYx1Vn5qtiM,100390
11
11
  yt_dlp/plugins.py,sha256=EGmR0ydaahNspGrgszTNX4-YjHe93WOOhcw1gf6PZSs,8215
12
12
  yt_dlp/socks.py,sha256=oAuAfWM6jxI8A5hHDLEKq2U2-k9NyMB_z6nrKzNE9fg,8936
13
13
  yt_dlp/update.py,sha256=sY7gNFBQorzs7sEjRrqL5QOsTBNmGGa_FnpTtbxY1vA,25280
14
- yt_dlp/version.py,sha256=s-ydQPGqLcZAq4s_6J-c7dns4I-UajyNp0syiroN93c,360
14
+ yt_dlp/version.py,sha256=4NJ3NMb-wiDuXeosnluVA9otIUqM_ZHr4uz7rSYoAc4,360
15
15
  yt_dlp/webvtt.py,sha256=ONkXaaNCZcX8pQhJn3iwIKyaQ34BtVDrMEdG6wRNZwM,11451
16
16
  yt_dlp/__pyinstaller/__init__.py,sha256=-c4Zo8nQGKAm8wc_LDscxMtK7zr_YhZwRnC9CMruUBE,72
17
17
  yt_dlp/__pyinstaller/hook-yt_dlp.py,sha256=5Rd0zV2pDskjY1KtT0wsjxv4hStx67sLCjUexsFvFus,1339
@@ -1109,7 +1109,7 @@ yt_dlp/postprocessor/common.py,sha256=TGv4iP7YWf__PmSSFWhrvshzZw3-yl8Urzoh0doSy-
1109
1109
  yt_dlp/postprocessor/embedthumbnail.py,sha256=WykLv12Jct9OX4SBPePT7HI8ykSMzaD4pyk8pGZYpMY,10530
1110
1110
  yt_dlp/postprocessor/exec.py,sha256=-Oz3sUph4mYQ-bbhT2nadLcHXS4LHiDDcaY83X6RJDs,1542
1111
1111
  yt_dlp/postprocessor/ffmpeg.py,sha256=engqaUIAndaeuXvH5XXs-SdyWw6d4vT1Djh4VrS8PqA,48251
1112
- yt_dlp/postprocessor/metadataparser.py,sha256=_tmPGbgQ95PBabSJBwqiuA00cpvq60AocKOYMKlmNKg,4381
1112
+ yt_dlp/postprocessor/metadataparser.py,sha256=Nhqf9tXmv0QEou4vptp7aOgM6FkKr9uGRXc5bl3HExg,4551
1113
1113
  yt_dlp/postprocessor/modify_chapters.py,sha256=ehN1D-SGqGtY1F9vaWeGOWuBULnfPLvQ1QHtO58O3lU,17827
1114
1114
  yt_dlp/postprocessor/movefilesafterdownload.py,sha256=yfO2Waylcqrab0HJKY-PPTCYuxweSTKdEuGUq0fp2sI,1838
1115
1115
  yt_dlp/postprocessor/sponsorblock.py,sha256=McDfxOTwAmtUnD9TxmRqm9Gyf6DRW4W6bBo5sqnCG6w,4289
@@ -1124,13 +1124,13 @@ yt_dlp/utils/progress.py,sha256=t9kVvJ0oWuEqRzo9fdFbIhHUBtO_8mg348QwZ1faqLo,3261
1124
1124
  yt_dlp/utils/traversal.py,sha256=64E3RcZ56iSX50RI_HbKdDNftkETMLBaEPX791_b7yQ,18265
1125
1125
  yt_dlp/utils/jslib/__init__.py,sha256=CbdJiRA7Eh5PnjF2V4lDTcg0J0XjBMaaq0H4pCfq9Tk,87
1126
1126
  yt_dlp/utils/jslib/devalue.py,sha256=7DCGK_zUN0ZeV5hwPT06zaRMUxX_hyUyFWqs79rxw24,5621
1127
- yt_dlp-2026.1.4.233103.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
1128
- yt_dlp-2026.1.4.233103.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=tt0TDGwdMoOxnPTbcAwib0CshxC47M1o1twsNyDSVgI,165220
1129
- yt_dlp-2026.1.4.233103.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
1130
- yt_dlp-2026.1.4.233103.dev0.data/data/share/man/man1/yt-dlp.1,sha256=I76tezS4KEGpoILtX3Z-4uJuwa0G21_lbMMHtN5WHW0,159789
1131
- yt_dlp-2026.1.4.233103.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
1132
- yt_dlp-2026.1.4.233103.dev0.dist-info/METADATA,sha256=DN6SVQWALRo4ndEgkD4Hx7nv0oyr0pJtRJBanyZFNV8,180593
1133
- yt_dlp-2026.1.4.233103.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1134
- yt_dlp-2026.1.4.233103.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1135
- yt_dlp-2026.1.4.233103.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1136
- yt_dlp-2026.1.4.233103.dev0.dist-info/RECORD,,
1127
+ yt_dlp-2026.1.5.233118.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
1128
+ yt_dlp-2026.1.5.233118.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=AkKlzo4SvuJnf_2b22c63Fd3sBXHCVVWvgC5UwT3oko,165351
1129
+ yt_dlp-2026.1.5.233118.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
1130
+ yt_dlp-2026.1.5.233118.dev0.data/data/share/man/man1/yt-dlp.1,sha256=gxajtKE1RbgCtRJ604aAZjRwwHOuELlT1eUbgolpHF4,159920
1131
+ yt_dlp-2026.1.5.233118.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
1132
+ yt_dlp-2026.1.5.233118.dev0.dist-info/METADATA,sha256=QImdLBccSkpWVaij5Q-yZb2rNAnrFfUry5xNrxhqcCM,180716
1133
+ yt_dlp-2026.1.5.233118.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1134
+ yt_dlp-2026.1.5.233118.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1135
+ yt_dlp-2026.1.5.233118.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1136
+ yt_dlp-2026.1.5.233118.dev0.dist-info/RECORD,,