ytdl-sub 2026.1.24__py3-none-any.whl → 2026.1.26__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.
ytdl_sub/__init__.py CHANGED
@@ -1 +1 @@
1
- __pypi_version__ = "2026.01.24";__local_version__ = "2026.01.24+60cdbad"
1
+ __pypi_version__ = "2026.01.26";__local_version__ = "2026.01.26+a097c6a"
@@ -62,7 +62,10 @@ class YTDLOptions(UnstructuredOverridesDictFormatterValidator):
62
62
  Materializes the entire ytdl-options dict from OverrideStringFormatters into
63
63
  native python.
64
64
  """
65
- out = {key: overrides.apply_formatter(val) for key, val in self.dict.items()}
65
+ out = {
66
+ key: overrides.apply_formatter(val, expected_type=object)
67
+ for key, val in self.dict.items()
68
+ }
66
69
  if "cookiefile" in out:
67
70
  if not FileHandler.is_file_existent(out["cookiefile"]):
68
71
  raise ValidationException(
@@ -214,7 +214,22 @@ class OverridesDictFormatterValidator(DictFormatterValidator):
214
214
  _key_validator = OverridesStringFormatterValidator
215
215
 
216
216
 
217
+ class AnyFormatterValidator(StringFormatterValidator):
218
+ """
219
+ Applies no post-processing.
220
+ """
221
+
222
+ def post_process(self, resolved: Any) -> Any:
223
+ return resolved
224
+
225
+
226
+ class AnyOverridesFormatterValidator(AnyFormatterValidator, OverridesStringFormatterValidator):
227
+ pass
228
+
229
+
217
230
  class UnstructuredDictFormatterValidator(DictFormatterValidator):
231
+ _key_validator = AnyFormatterValidator
232
+
218
233
  def __init__(self, name, value):
219
234
  # Convert the unstructured-ness into a script
220
235
  if isinstance(value, dict):
@@ -223,19 +238,7 @@ class UnstructuredDictFormatterValidator(DictFormatterValidator):
223
238
 
224
239
 
225
240
  class UnstructuredOverridesDictFormatterValidator(UnstructuredDictFormatterValidator):
226
- _key_validator = OverridesStringFormatterValidator
227
-
228
-
229
- def to_variable_dependency_format_string(script: Script, parsed_format_string: SyntaxTree) -> str:
230
- """
231
- Create a dummy format string that contains all variable deps as a string.
232
- """
233
- dummy_format_string = ""
234
- for var in parsed_format_string.variables:
235
- dummy_format_string += f"{{ {var.name} }}"
236
- for variable_dependency in script._variables[var.name].variables:
237
- dummy_format_string += f"{{ {variable_dependency.name} }}"
238
- return dummy_format_string
241
+ _key_validator = AnyOverridesFormatterValidator
239
242
 
240
243
 
241
244
  def _validate_formatter(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ytdl-sub
3
- Version: 2026.1.24
3
+ Version: 2026.1.26
4
4
  Summary: Automate downloading metadata generation with YoutubeDL
5
5
  Author: Jesse Bannon
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -1,4 +1,4 @@
1
- ytdl_sub/__init__.py,sha256=1SMZAT9q6ncuzzys4N9GDiHpO4osQSJ1sVS7JSBIxR0,73
1
+ ytdl_sub/__init__.py,sha256=VJCr_0zzcPaqSrQuYUz070tTsBjnnxhawIn6ALvwmrw,73
2
2
  ytdl_sub/main.py,sha256=4Rf9wXxSKW7IPnWqG5YtTZ814PjP1n9WtoFDivaainE,1004
3
3
  ytdl_sub/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  ytdl_sub/cli/entrypoint.py,sha256=XXjUH4HiOP_BB2ZA_bNcyt5-o6YLAdZmj0EP3xtOtD8,9496
@@ -14,7 +14,7 @@ ytdl_sub/config/config_validator.py,sha256=W1dvQD8wI7VOmGOHyaliu8DC6HOjfoGsgUw2M
14
14
  ytdl_sub/config/defaults.py,sha256=NTwzlKDkks1LDGNjFMxh91fw5E6T6d_zGsCwODNYJxo,1152
15
15
  ytdl_sub/config/overrides.py,sha256=kwSsvVACKYq5qjnuFFXrWDfT2DJph9n3XC6uzKFGlVA,9786
16
16
  ytdl_sub/config/preset.py,sha256=Msacs60TyDWWzSlvkI3PurRil5vWOGQFK__Ev2HG1l0,9887
17
- ytdl_sub/config/preset_options.py,sha256=mcLc9l_AxAlwmdzNMpSiiI8gh5MLLdGWUQ20eEWNo2w,14153
17
+ ytdl_sub/config/preset_options.py,sha256=Nl1E148Asi2tak6dNqoXgyKdAtf3-Xa2sERrh9wjiJY,14209
18
18
  ytdl_sub/config/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  ytdl_sub/config/plugin/plugin.py,sha256=gsjTcB8cOO097FhJYJD5zPlfEvoPzL6K5VAAqkM3gYc,4740
20
20
  ytdl_sub/config/plugin/plugin_mapping.py,sha256=xx9K2EReIU7zdPlogjvIkowy8J2R4TEhMNJyR7_1aE0,7846
@@ -153,14 +153,14 @@ ytdl_sub/validators/regex_validator.py,sha256=jS8No927eg3zcpYEOv5g0gykePV0DCZaIr
153
153
  ytdl_sub/validators/source_variable_validator.py,sha256=ziG4PVIyzj5ky-Okle0FB2d2P5DWs3-jYF81hMvBTEQ,922
154
154
  ytdl_sub/validators/strict_dict_validator.py,sha256=RduK_3pOEbEQQuugAUeKKqM0Tv5x2vxSSb7vROyo2vQ,1661
155
155
  ytdl_sub/validators/string_datetime.py,sha256=GpbBiZH1FHTMeo0Zk134-uMdTMk2JD3Re3TnvuPx2OU,1125
156
- ytdl_sub/validators/string_formatter_validators.py,sha256=wOPaMgLZUtnRsJcyyXgQuIl-764VoSOP6PETp9glEio,12565
156
+ ytdl_sub/validators/string_formatter_validators.py,sha256=d4laCipImcfrZlEYbXaJkvr5iRojsDZIIlBSt4w6L4c,12395
157
157
  ytdl_sub/validators/string_select_validator.py,sha256=KFXNKWX2J80WGt08m5gVYphPMHYxhHlgfcoXAQMq6zw,1086
158
158
  ytdl_sub/validators/validators.py,sha256=JC3-c9fSrozFADUY5jqZEhXpM2q3sfserlooQxT2DK8,9133
159
159
  ytdl_sub/ytdl_additions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  ytdl_sub/ytdl_additions/enhanced_download_archive.py,sha256=Lsc0wjHdx9d8dYJCskZYAUGDAQ_QzQ-_xbQlyrBSzfk,24884
161
- ytdl_sub-2026.1.24.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
162
- ytdl_sub-2026.1.24.dist-info/METADATA,sha256=WAl9lGhigah-Jb5Yk74t1_WOxecELWBV3vrOrcxTKf4,51420
163
- ytdl_sub-2026.1.24.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
164
- ytdl_sub-2026.1.24.dist-info/entry_points.txt,sha256=K3T5235NlAI-WLmHCg5tzLZHqc33OLN5IY5fOGc9t10,48
165
- ytdl_sub-2026.1.24.dist-info/top_level.txt,sha256=6z-JWazl6jXspC2DNyxOnGnEqYyGzVbgcBDoXfbkUhI,9
166
- ytdl_sub-2026.1.24.dist-info/RECORD,,
161
+ ytdl_sub-2026.1.26.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
162
+ ytdl_sub-2026.1.26.dist-info/METADATA,sha256=pQXEhYCjsG0KaEfE00vzdSNPJgtqUVYc9BVg3AU5-ZQ,51420
163
+ ytdl_sub-2026.1.26.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
164
+ ytdl_sub-2026.1.26.dist-info/entry_points.txt,sha256=K3T5235NlAI-WLmHCg5tzLZHqc33OLN5IY5fOGc9t10,48
165
+ ytdl_sub-2026.1.26.dist-info/top_level.txt,sha256=6z-JWazl6jXspC2DNyxOnGnEqYyGzVbgcBDoXfbkUhI,9
166
+ ytdl_sub-2026.1.26.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5