ytdl-sub 2025.12.8__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.8 → ytdl_sub-2025.12.26}/PKG-INFO +1 -1
  2. ytdl_sub-2025.12.26/src/ytdl_sub/__init__.py +1 -0
  3. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/overrides.py +19 -0
  4. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/preset.py +2 -0
  5. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/variables/override_variables.py +1 -4
  6. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/download_deletion_options.yaml +1 -2
  7. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/PKG-INFO +1 -1
  8. ytdl_sub-2025.12.8/src/ytdl_sub/__init__.py +0 -1
  9. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/LICENSE +0 -0
  10. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/README.md +0 -0
  11. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/pyproject.toml +0 -0
  12. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/setup.cfg +0 -0
  13. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/__init__.py +0 -0
  14. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/entrypoint.py +0 -0
  15. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/output_summary.py +0 -0
  16. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/output_transaction_log.py +0 -0
  17. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/__init__.py +0 -0
  18. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/cli_to_sub.py +0 -0
  19. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/dl.py +0 -0
  20. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/cli/parsers/main.py +0 -0
  21. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/__init__.py +0 -0
  22. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/config_file.py +0 -0
  23. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/config_validator.py +0 -0
  24. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/defaults.py +0 -0
  25. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/__init__.py +0 -0
  26. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin.py +0 -0
  27. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin_mapping.py +0 -0
  28. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/plugin_operation.py +0 -0
  29. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/plugin/preset_plugins.py +0 -0
  30. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/preset_options.py +0 -0
  31. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/__init__.py +0 -0
  32. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/options.py +0 -0
  33. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/config/validators/variable_validation.py +0 -0
  34. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/__init__.py +0 -0
  35. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/info_json/__init__.py +0 -0
  36. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +0 -0
  37. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/source_plugin.py +0 -0
  38. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/__init__.py +0 -0
  39. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/downloader.py +0 -0
  40. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/url/validators.py +0 -0
  41. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/ytdl_options_builder.py +0 -0
  42. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/downloaders/ytdlp.py +0 -0
  43. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/__init__.py +0 -0
  44. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/base_entry.py +0 -0
  45. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/entry.py +0 -0
  46. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/entry_parent.py +0 -0
  47. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/__init__.py +0 -0
  48. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/custom_functions.py +0 -0
  49. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/function_scripts.py +0 -0
  50. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/variable_definitions.py +0 -0
  51. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/script/variable_types.py +0 -0
  52. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/entries/variables/__init__.py +0 -0
  53. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/main.py +0 -0
  54. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/__init__.py +0 -0
  55. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/audio_extract.py +0 -0
  56. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/chapters.py +0 -0
  57. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/date_range.py +0 -0
  58. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/embed_thumbnail.py +0 -0
  59. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/file_convert.py +0 -0
  60. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/filter_exclude.py +0 -0
  61. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/filter_include.py +0 -0
  62. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/format.py +0 -0
  63. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/internal/__init__.py +0 -0
  64. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/internal/view.py +0 -0
  65. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/match_filters.py +0 -0
  66. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/music_tags.py +0 -0
  67. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/nfo_tags.py +0 -0
  68. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/output_directory_nfo_tags.py +0 -0
  69. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/split_by_chapters.py +0 -0
  70. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/square_thumbnail.py +0 -0
  71. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/static_nfo_tags.py +0 -0
  72. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/subtitles.py +0 -0
  73. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/throttle_protection.py +0 -0
  74. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/plugins/video_tags.py +0 -0
  75. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/__init__.py +0 -0
  76. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +0 -0
  77. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/filter_duration.yaml +0 -0
  78. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/filter_keywords.yaml +0 -0
  79. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml +0 -0
  80. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml +0 -0
  81. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/throttle_protection.yaml +0 -0
  82. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +0 -0
  83. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url_bilateral.yaml +0 -0
  84. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/helpers/url_categorized.yaml +0 -0
  85. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/internal/__init__.py +0 -0
  86. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/internal/view.yaml +0 -0
  87. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/__init__.py +0 -0
  88. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/albums_from_chapters.yaml +0 -0
  89. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/albums_from_playlists.yaml +0 -0
  90. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/singles.yaml +0 -0
  91. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml +0 -0
  92. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +0 -0
  93. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml +0 -0
  94. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_extras.yaml +0 -0
  95. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +0 -0
  96. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +0 -0
  97. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +0 -0
  98. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +0 -0
  99. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +0 -0
  100. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +0 -0
  101. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/__init__.py +0 -0
  102. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/__init__.py +0 -0
  103. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/array_functions.py +0 -0
  104. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/boolean_functions.py +0 -0
  105. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/conditional_functions.py +0 -0
  106. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/date_functions.py +0 -0
  107. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/error_functions.py +0 -0
  108. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/json_functions.py +0 -0
  109. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/map_functions.py +0 -0
  110. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/numeric_functions.py +0 -0
  111. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/print_functions.py +0 -0
  112. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/regex_functions.py +0 -0
  113. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/functions/string_functions.py +0 -0
  114. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/parser.py +0 -0
  115. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/script.py +0 -0
  116. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/script_output.py +0 -0
  117. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/__init__.py +0 -0
  118. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/array.py +0 -0
  119. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/function.py +0 -0
  120. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/map.py +0 -0
  121. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/resolvable.py +0 -0
  122. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/syntax_tree.py +0 -0
  123. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/variable.py +0 -0
  124. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/types/variable_dependency.py +0 -0
  125. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/__init__.py +0 -0
  126. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/exception_formatters.py +0 -0
  127. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/exceptions.py +0 -0
  128. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/name_validation.py +0 -0
  129. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/script/utils/type_checking.py +0 -0
  130. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/__init__.py +0 -0
  131. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/base_subscription.py +0 -0
  132. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription.py +0 -0
  133. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_download.py +0 -0
  134. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_validators.py +0 -0
  135. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +0 -0
  136. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/thread/__init__.py +0 -0
  137. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/thread/log_entries_downloaded_listener.py +0 -0
  138. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/__init__.py +0 -0
  139. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/chapters.py +0 -0
  140. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/datetime.py +0 -0
  141. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/exceptions.py +0 -0
  142. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/ffmpeg.py +0 -0
  143. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_handler.py +0 -0
  144. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_lock.py +0 -0
  145. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/file_path.py +0 -0
  146. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/logger.py +0 -0
  147. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/retry.py +0 -0
  148. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/script.py +0 -0
  149. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/scriptable.py +0 -0
  150. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/subtitles.py +0 -0
  151. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/system.py +0 -0
  152. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/thumbnail.py +0 -0
  153. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/xml.py +0 -0
  154. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/utils/yaml.py +0 -0
  155. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/__init__.py +0 -0
  156. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/audo_codec_validator.py +0 -0
  157. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/file_path_validators.py +0 -0
  158. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/nfo_validators.py +0 -0
  159. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/regex_validator.py +0 -0
  160. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/source_variable_validator.py +0 -0
  161. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/strict_dict_validator.py +0 -0
  162. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_datetime.py +0 -0
  163. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_formatter_validators.py +0 -0
  164. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/string_select_validator.py +0 -0
  165. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/validators/validators.py +0 -0
  166. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/ytdl_additions/__init__.py +0 -0
  167. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +0 -0
  168. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/SOURCES.txt +0 -0
  169. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/dependency_links.txt +0 -0
  170. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/entry_points.txt +0 -0
  171. {ytdl_sub-2025.12.8 → ytdl_sub-2025.12.26}/src/ytdl_sub.egg-info/requires.txt +0 -0
  172. {ytdl_sub-2025.12.8 → 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.8
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
@@ -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.8
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
@@ -1 +0,0 @@
1
- __pypi_version__ = "2025.12.08";__local_version__ = "2025.12.08+157a0b5"
File without changes
File without changes
File without changes