ytdl-sub 2025.12.6__tar.gz → 2025.12.26__tar.gz

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.
Files changed (172) hide show
  1. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/PKG-INFO +2 -2
  2. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/pyproject.toml +1 -1
  3. ytdl_sub-2025.12.26/src/ytdl_sub/__init__.py +1 -0
  4. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/overrides.py +19 -0
  5. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/preset.py +2 -0
  6. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/variables/override_variables.py +1 -4
  7. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/download_deletion_options.yaml +1 -2
  8. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/PKG-INFO +2 -2
  9. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/requires.txt +1 -1
  10. ytdl_sub-2025.12.6/src/ytdl_sub/__init__.py +0 -1
  11. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/LICENSE +0 -0
  12. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/README.md +0 -0
  13. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/setup.cfg +0 -0
  14. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/__init__.py +0 -0
  15. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/entrypoint.py +0 -0
  16. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/output_summary.py +0 -0
  17. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/output_transaction_log.py +0 -0
  18. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/__init__.py +0 -0
  19. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/cli_to_sub.py +0 -0
  20. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/dl.py +0 -0
  21. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/main.py +0 -0
  22. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/__init__.py +0 -0
  23. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/config_file.py +0 -0
  24. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/config_validator.py +0 -0
  25. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/defaults.py +0 -0
  26. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/__init__.py +0 -0
  27. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin.py +0 -0
  28. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin_mapping.py +0 -0
  29. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin_operation.py +0 -0
  30. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/preset_plugins.py +0 -0
  31. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/preset_options.py +0 -0
  32. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/__init__.py +0 -0
  33. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/options.py +0 -0
  34. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/variable_validation.py +0 -0
  35. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/__init__.py +0 -0
  36. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/info_json/__init__.py +0 -0
  37. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +0 -0
  38. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/source_plugin.py +0 -0
  39. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/__init__.py +0 -0
  40. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/downloader.py +0 -0
  41. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/validators.py +0 -0
  42. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/ytdl_options_builder.py +0 -0
  43. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/ytdlp.py +0 -0
  44. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/__init__.py +0 -0
  45. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/base_entry.py +0 -0
  46. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/entry.py +0 -0
  47. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/entry_parent.py +0 -0
  48. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/__init__.py +0 -0
  49. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/custom_functions.py +0 -0
  50. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/function_scripts.py +0 -0
  51. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/variable_definitions.py +0 -0
  52. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/variable_types.py +0 -0
  53. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/variables/__init__.py +0 -0
  54. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/main.py +0 -0
  55. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/__init__.py +0 -0
  56. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/audio_extract.py +0 -0
  57. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/chapters.py +0 -0
  58. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/date_range.py +0 -0
  59. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/embed_thumbnail.py +0 -0
  60. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/file_convert.py +0 -0
  61. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/filter_exclude.py +0 -0
  62. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/filter_include.py +0 -0
  63. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/format.py +0 -0
  64. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/internal/__init__.py +0 -0
  65. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/internal/view.py +0 -0
  66. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/match_filters.py +0 -0
  67. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/music_tags.py +0 -0
  68. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/nfo_tags.py +0 -0
  69. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/output_directory_nfo_tags.py +0 -0
  70. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/split_by_chapters.py +0 -0
  71. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/square_thumbnail.py +0 -0
  72. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/static_nfo_tags.py +0 -0
  73. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/subtitles.py +0 -0
  74. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/throttle_protection.py +0 -0
  75. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/video_tags.py +0 -0
  76. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/__init__.py +0 -0
  77. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +0 -0
  78. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/filter_duration.yaml +0 -0
  79. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/filter_keywords.yaml +0 -0
  80. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml +0 -0
  81. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml +0 -0
  82. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/throttle_protection.yaml +0 -0
  83. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +0 -0
  84. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url_bilateral.yaml +0 -0
  85. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url_categorized.yaml +0 -0
  86. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/internal/__init__.py +0 -0
  87. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/internal/view.yaml +0 -0
  88. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/__init__.py +0 -0
  89. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/albums_from_chapters.yaml +0 -0
  90. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/albums_from_playlists.yaml +0 -0
  91. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/singles.yaml +0 -0
  92. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml +0 -0
  93. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +0 -0
  94. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml +0 -0
  95. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_extras.yaml +0 -0
  96. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +0 -0
  97. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +0 -0
  98. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +0 -0
  99. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +0 -0
  100. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +0 -0
  101. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +0 -0
  102. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/__init__.py +0 -0
  103. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/__init__.py +0 -0
  104. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/array_functions.py +0 -0
  105. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/boolean_functions.py +0 -0
  106. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/conditional_functions.py +0 -0
  107. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/date_functions.py +0 -0
  108. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/error_functions.py +0 -0
  109. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/json_functions.py +0 -0
  110. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/map_functions.py +0 -0
  111. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/numeric_functions.py +0 -0
  112. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/print_functions.py +0 -0
  113. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/regex_functions.py +0 -0
  114. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/string_functions.py +0 -0
  115. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/parser.py +0 -0
  116. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/script.py +0 -0
  117. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/script_output.py +0 -0
  118. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/__init__.py +0 -0
  119. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/array.py +0 -0
  120. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/function.py +0 -0
  121. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/map.py +0 -0
  122. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/resolvable.py +0 -0
  123. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/syntax_tree.py +0 -0
  124. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/variable.py +0 -0
  125. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/variable_dependency.py +0 -0
  126. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/__init__.py +0 -0
  127. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/exception_formatters.py +0 -0
  128. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/exceptions.py +0 -0
  129. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/name_validation.py +0 -0
  130. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/type_checking.py +0 -0
  131. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/__init__.py +0 -0
  132. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/base_subscription.py +0 -0
  133. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription.py +0 -0
  134. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_download.py +0 -0
  135. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_validators.py +0 -0
  136. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +0 -0
  137. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/thread/__init__.py +0 -0
  138. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/thread/log_entries_downloaded_listener.py +0 -0
  139. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/__init__.py +0 -0
  140. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/chapters.py +0 -0
  141. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/datetime.py +0 -0
  142. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/exceptions.py +0 -0
  143. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/ffmpeg.py +0 -0
  144. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_handler.py +0 -0
  145. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_lock.py +0 -0
  146. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_path.py +0 -0
  147. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/logger.py +0 -0
  148. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/retry.py +0 -0
  149. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/script.py +0 -0
  150. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/scriptable.py +0 -0
  151. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/subtitles.py +0 -0
  152. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/system.py +0 -0
  153. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/thumbnail.py +0 -0
  154. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/xml.py +0 -0
  155. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/yaml.py +0 -0
  156. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/__init__.py +0 -0
  157. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/audo_codec_validator.py +0 -0
  158. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/file_path_validators.py +0 -0
  159. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/nfo_validators.py +0 -0
  160. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/regex_validator.py +0 -0
  161. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/source_variable_validator.py +0 -0
  162. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/strict_dict_validator.py +0 -0
  163. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_datetime.py +0 -0
  164. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_formatter_validators.py +0 -0
  165. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_select_validator.py +0 -0
  166. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/validators.py +0 -0
  167. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/ytdl_additions/__init__.py +0 -0
  168. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +0 -0
  169. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/SOURCES.txt +0 -0
  170. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/dependency_links.txt +0 -0
  171. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/entry_points.txt +0 -0
  172. {ytdl_sub-2025.12.6 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ytdl-sub
3
- Version: 2025.12.6
3
+ Version: 2025.12.26
4
4
  Summary: Automate downloading metadata generation with YoutubeDL
5
5
  Author: Jesse Bannon
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -689,7 +689,7 @@ Classifier: Programming Language :: Python :: 3.11
689
689
  Requires-Python: >=3.10
690
690
  Description-Content-Type: text/markdown
691
691
  License-File: LICENSE
692
- Requires-Dist: yt-dlp[default]==2025.11.12
692
+ Requires-Dist: yt-dlp[default]==2025.12.8
693
693
  Requires-Dist: colorama~=0.4
694
694
  Requires-Dist: mergedeep~=1.3
695
695
  Requires-Dist: mediafile~=0.12
@@ -15,7 +15,7 @@ classifiers = [
15
15
  "Programming Language :: Python :: 3.11",
16
16
  ]
17
17
  dependencies = [
18
- "yt-dlp[default]==2025.11.12",
18
+ "yt-dlp[default]==2025.12.8",
19
19
  "colorama~=0.4",
20
20
  "mergedeep~=1.3",
21
21
  "mediafile~=0.12",
@@ -0,0 +1 @@
1
+ __pypi_version__ = "2025.12.26";__local_version__ = "2025.12.26+0f96d8e"
@@ -1,5 +1,6 @@
1
1
  from typing import Any
2
2
  from typing import Dict
3
+ from typing import Iterable
3
4
  from typing import Optional
4
5
  from typing import Set
5
6
 
@@ -88,6 +89,24 @@ class Overrides(UnstructuredDictFormatterValidator, Scriptable):
88
89
 
89
90
  return True
90
91
 
92
+ def ensure_variable_names_not_a_plugin(self, plugin_names: Iterable[str]) -> None:
93
+ """
94
+ Throws an error if an override variable or function has the same name as a
95
+ preset key. This is to avoid confusion when accidentally defining things in
96
+ overrides that are meant to be in the preset.
97
+ """
98
+ for name in self.keys:
99
+ if name.startswith("%"):
100
+ name = name[1:]
101
+
102
+ if name in plugin_names:
103
+ raise self._validation_exception(
104
+ f"Override variable with name {name} cannot be used since it is"
105
+ " the name of a plugin. Perhaps you meant to define it as a plugin? If so,"
106
+ " indent it left to make it at the same level as overrides.",
107
+ exception_class=InvalidVariableNameException,
108
+ )
109
+
91
110
  def ensure_variable_name_valid(self, name: str) -> None:
92
111
  """
93
112
  Ensures the variable name does not collide with any entry variables or built-in functions.
@@ -194,6 +194,8 @@ class Preset(_PresetShell):
194
194
  self.plugins: PresetPlugins = self._validate_and_get_plugins()
195
195
  self.overrides = self._validate_key(key="overrides", validator=Overrides, default={})
196
196
 
197
+ self.overrides.ensure_variable_names_not_a_plugin(plugin_names=PRESET_KEYS)
198
+
197
199
  VariableValidation(
198
200
  downloader_options=self.downloader_options,
199
201
  output_options=self.output_options,
@@ -11,9 +11,6 @@ from ytdl_sub.entries.script.variable_types import Variable
11
11
  from ytdl_sub.script.functions import Functions
12
12
  from ytdl_sub.script.utils.name_validation import is_valid_name
13
13
 
14
- # TODO: use this
15
- SUBSCRIPTION_ARRAY = "subscription_array"
16
-
17
14
 
18
15
  class SubscriptionVariables:
19
16
  @staticmethod
@@ -163,7 +160,7 @@ class OverrideHelpers:
163
160
  True if the override name itself is valid. False otherwise.
164
161
  """
165
162
  if name.startswith("%"):
166
- return is_valid_name(name=name[1:])
163
+ name = name[1:]
167
164
 
168
165
  return is_valid_name(name=name)
169
166
 
@@ -11,8 +11,7 @@ presets:
11
11
 
12
12
  # Set the default date_range to 2 months
13
13
  overrides:
14
- date_range: "2months" # keep for legacy-reasons
15
- only_recent_date_range: "{date_range}"
14
+ only_recent_date_range: "2months"
16
15
 
17
16
  #############################################################################
18
17
  # Only Recent
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ytdl-sub
3
- Version: 2025.12.6
3
+ Version: 2025.12.26
4
4
  Summary: Automate downloading metadata generation with YoutubeDL
5
5
  Author: Jesse Bannon
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -689,7 +689,7 @@ Classifier: Programming Language :: Python :: 3.11
689
689
  Requires-Python: >=3.10
690
690
  Description-Content-Type: text/markdown
691
691
  License-File: LICENSE
692
- Requires-Dist: yt-dlp[default]==2025.11.12
692
+ Requires-Dist: yt-dlp[default]==2025.12.8
693
693
  Requires-Dist: colorama~=0.4
694
694
  Requires-Dist: mergedeep~=1.3
695
695
  Requires-Dist: mediafile~=0.12
@@ -1,4 +1,4 @@
1
- yt-dlp[default]==2025.11.12
1
+ yt-dlp[default]==2025.12.8
2
2
  colorama~=0.4
3
3
  mergedeep~=1.3
4
4
  mediafile~=0.12
@@ -1 +0,0 @@
1
- __pypi_version__ = "2025.12.06";__local_version__ = "2025.12.06+a5ae695"
File without changes
File without changes
File without changes