ytdl-sub 2025.12.31__tar.gz → 2025.12.31.post2__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.
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/PKG-INFO +1 -1
- ytdl_sub-2025.12.31.post2/src/ytdl_sub/__init__.py +1 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/script.py +8 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/variable_dependency.py +18 -2
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/string_formatter_validators.py +5 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/PKG-INFO +1 -1
- ytdl_sub-2025.12.31/src/ytdl_sub/__init__.py +0 -1
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/LICENSE +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/README.md +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/pyproject.toml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/setup.cfg +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/entrypoint.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/output_summary.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/output_transaction_log.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/parsers/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/parsers/cli_to_sub.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/parsers/dl.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/parsers/main.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/config_file.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/config_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/defaults.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/overrides.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/plugin.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/plugin_mapping.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/plugin_operation.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/preset_plugins.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/preset.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/preset_options.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/validators/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/validators/options.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/validators/variable_validation.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/info_json/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/source_plugin.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/url/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/url/downloader.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/url/validators.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/ytdl_options_builder.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/ytdlp.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/base_entry.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/entry.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/entry_parent.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/custom_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/function_scripts.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/variable_definitions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/variable_types.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/variables/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/variables/override_variables.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/main.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/audio_extract.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/chapters.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/date_range.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/embed_thumbnail.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/file_convert.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/filter_exclude.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/filter_include.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/format.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/internal/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/internal/view.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/match_filters.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/music_tags.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/output_directory_nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/split_by_chapters.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/square_thumbnail.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/static_nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/subtitles.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/throttle_protection.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/video_tags.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/download_deletion_options.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/filter_duration.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/filter_keywords.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/throttle_protection.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/url_bilateral.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/url_categorized.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/internal/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/internal/view.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/albums_from_chapters.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/albums_from_playlists.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/singles.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_extras.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/array_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/boolean_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/conditional_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/date_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/error_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/json_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/map_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/numeric_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/print_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/regex_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/string_functions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/parser.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/script_output.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/array.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/function.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/map.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/resolvable.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/syntax_tree.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/variable.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/exception_formatters.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/exceptions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/name_validation.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/type_checking.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/base_subscription.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/subscription.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/subscription_download.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/subscription_validators.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/thread/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/thread/log_entries_downloaded_listener.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/chapters.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/datetime.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/exceptions.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/ffmpeg.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/file_handler.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/file_lock.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/file_path.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/logger.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/retry.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/script.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/scriptable.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/subtitles.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/system.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/thumbnail.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/xml.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/utils/yaml.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/audo_codec_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/file_path_validators.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/nfo_validators.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/regex_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/source_variable_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/strict_dict_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/string_datetime.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/string_select_validator.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/validators.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/ytdl_additions/__init__.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/SOURCES.txt +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/dependency_links.txt +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/entry_points.txt +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/requires.txt +0 -0
- {ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__pypi_version__ = "2025.12.31.post2";__local_version__ = "2025.12.31+7ac525f"
|
|
@@ -288,6 +288,14 @@ class Script:
|
|
|
288
288
|
unresolvable=unresolvable,
|
|
289
289
|
)
|
|
290
290
|
|
|
291
|
+
for lambda_func in current_var.lambdas:
|
|
292
|
+
if lambda_func.value in self._functions:
|
|
293
|
+
subset_to_resolve |= self._recursive_get_unresolved_output_filter_variables(
|
|
294
|
+
current_var=self._functions[lambda_func.value],
|
|
295
|
+
subset_to_resolve=subset_to_resolve,
|
|
296
|
+
unresolvable=unresolvable,
|
|
297
|
+
)
|
|
298
|
+
|
|
291
299
|
return subset_to_resolve
|
|
292
300
|
|
|
293
301
|
def _get_unresolved_output_filter(
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/types/variable_dependency.py
RENAMED
|
@@ -159,6 +159,20 @@ class VariableDependency(ABC):
|
|
|
159
159
|
|
|
160
160
|
raise UNREACHABLE
|
|
161
161
|
|
|
162
|
+
@final
|
|
163
|
+
def _custom_function_dependencies(
|
|
164
|
+
self, custom_function_definitions: Dict[str, "VariableDependency"]
|
|
165
|
+
) -> Set[ParsedCustomFunction]:
|
|
166
|
+
custom_functions = self.custom_functions
|
|
167
|
+
for lambda_func in self.lambdas:
|
|
168
|
+
if lambda_func.value in custom_function_definitions:
|
|
169
|
+
custom_functions.add(
|
|
170
|
+
ParsedCustomFunction(
|
|
171
|
+
name=lambda_func.value, num_input_args=lambda_func.num_input_args()
|
|
172
|
+
)
|
|
173
|
+
)
|
|
174
|
+
return custom_functions
|
|
175
|
+
|
|
162
176
|
@final
|
|
163
177
|
def is_subset_of(
|
|
164
178
|
self,
|
|
@@ -170,7 +184,8 @@ class VariableDependency(ABC):
|
|
|
170
184
|
-------
|
|
171
185
|
True if it contains all input variables as a dependency. False otherwise.
|
|
172
186
|
"""
|
|
173
|
-
|
|
187
|
+
# If there are lambdas, see if they are custom functions. If so, check them
|
|
188
|
+
for custom_function in self._custom_function_dependencies(custom_function_definitions):
|
|
174
189
|
if not custom_function_definitions[custom_function.name].is_subset_of(
|
|
175
190
|
variables=variables, custom_function_definitions=custom_function_definitions
|
|
176
191
|
):
|
|
@@ -189,7 +204,8 @@ class VariableDependency(ABC):
|
|
|
189
204
|
-------
|
|
190
205
|
True if it contains any of the input variables. False otherwise.
|
|
191
206
|
"""
|
|
192
|
-
|
|
207
|
+
# If there are lambdas, see if they are custom functions. If so, check them
|
|
208
|
+
for custom_function in self._custom_function_dependencies(custom_function_definitions):
|
|
193
209
|
if custom_function_definitions[custom_function.name].contains(
|
|
194
210
|
variables=variables, custom_function_definitions=custom_function_definitions
|
|
195
211
|
):
|
|
@@ -241,6 +241,11 @@ def _validate_formatter(
|
|
|
241
241
|
variable_names = {var.name for var in parsed.variables}
|
|
242
242
|
custom_function_names = {f"%{func.name}" for func in parsed.custom_functions}
|
|
243
243
|
|
|
244
|
+
# Add lambda functions to custom function names, if it's custom
|
|
245
|
+
for lambda_func in parsed.lambdas:
|
|
246
|
+
if lambda_func in mock_script.function_names:
|
|
247
|
+
custom_function_names.add(lambda_func.value)
|
|
248
|
+
|
|
244
249
|
if not variable_names.issubset(mock_script.variable_names):
|
|
245
250
|
raise StringFormattingVariableNotFoundException(
|
|
246
251
|
"contains the following variables that do not exist: "
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__pypi_version__ = "2025.12.31";__local_version__ = "2025.12.31+1abe2a4"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/cli/output_transaction_log.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/plugin_mapping.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/plugin_operation.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/plugin/preset_plugins.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/config/validators/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/info_json/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/url/downloader.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/url/validators.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/downloaders/ytdl_options_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/custom_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/function_scripts.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/script/variable_types.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/entries/variables/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/output_directory_nfo_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/plugins/throttle_protection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/internal/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/internal/view.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/music/singles.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/array_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/boolean_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/date_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/error_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/json_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/map_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/numeric_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/print_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/regex_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/functions/string_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/exception_formatters.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/name_validation.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/script/utils/type_checking.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/base_subscription.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/subscriptions/subscription.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/audo_codec_validator.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/file_path_validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/regex_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/strict_dict_validator.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/string_datetime.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub/validators/string_select_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31 → ytdl_sub-2025.12.31.post2}/src/ytdl_sub.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|