ytdl-sub 2025.12.31.post2__tar.gz → 2025.12.31.post3__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.post2 → ytdl_sub-2025.12.31.post3}/PKG-INFO +1 -1
- ytdl_sub-2025.12.31.post3/src/ytdl_sub/__init__.py +1 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/script.py +16 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/resolvable.py +8 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/variable_dependency.py +14 -3
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/PKG-INFO +1 -1
- ytdl_sub-2025.12.31.post2/src/ytdl_sub/__init__.py +0 -1
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/LICENSE +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/README.md +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/pyproject.toml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/setup.cfg +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/entrypoint.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/output_summary.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/output_transaction_log.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/cli_to_sub.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/dl.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/main.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/config_file.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/config_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/defaults.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/overrides.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/plugin.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/plugin_mapping.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/plugin_operation.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/preset_plugins.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/preset.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/preset_options.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/validators/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/validators/options.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/validators/variable_validation.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/info_json/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/source_plugin.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/downloader.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/ytdl_options_builder.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/ytdlp.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/base_entry.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/entry.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/entry_parent.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/custom_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/function_scripts.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/variable_definitions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/variable_types.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/variables/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/variables/override_variables.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/main.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/audio_extract.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/chapters.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/date_range.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/embed_thumbnail.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/file_convert.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/filter_exclude.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/filter_include.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/format.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/internal/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/internal/view.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/match_filters.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/music_tags.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/output_directory_nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/split_by_chapters.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/square_thumbnail.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/static_nfo_tags.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/subtitles.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/throttle_protection.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/video_tags.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/download_deletion_options.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/filter_duration.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/filter_keywords.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/throttle_protection.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/url_bilateral.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/helpers/url_categorized.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/internal/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/internal/view.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music/albums_from_chapters.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music/albums_from_playlists.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music/singles.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_extras.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/array_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/boolean_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/conditional_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/date_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/error_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/json_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/map_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/numeric_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/print_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/regex_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/string_functions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/parser.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/script_output.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/array.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/function.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/map.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/syntax_tree.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/variable.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/exception_formatters.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/exceptions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/name_validation.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/type_checking.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/base_subscription.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/subscription.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/subscription_download.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/subscription_validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/thread/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/thread/log_entries_downloaded_listener.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/chapters.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/datetime.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/exceptions.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/ffmpeg.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/file_handler.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/file_lock.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/file_path.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/logger.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/retry.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/script.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/scriptable.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/subtitles.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/system.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/thumbnail.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/xml.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/utils/yaml.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/audo_codec_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/file_path_validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/nfo_validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/regex_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/source_variable_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/strict_dict_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/string_datetime.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/string_formatter_validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/string_select_validator.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/validators.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/ytdl_additions/__init__.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/SOURCES.txt +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/dependency_links.txt +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/entry_points.txt +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/requires.txt +0 -0
- {ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__pypi_version__ = "2025.12.31.post3";__local_version__ = "2025.12.31+869fc0b"
|
|
@@ -66,6 +66,22 @@ class Script:
|
|
|
66
66
|
deps=deps + [dep.name],
|
|
67
67
|
)
|
|
68
68
|
|
|
69
|
+
for custom_func in variable_dependency.custom_function_dependencies(
|
|
70
|
+
custom_function_definitions=self._functions
|
|
71
|
+
):
|
|
72
|
+
for dep in self._functions[custom_func.name].variables:
|
|
73
|
+
self._ensure_no_cycle(
|
|
74
|
+
name=variable_name,
|
|
75
|
+
dep=dep.name,
|
|
76
|
+
deps=deps + [custom_func.definition_name()],
|
|
77
|
+
definitions=self._variables,
|
|
78
|
+
)
|
|
79
|
+
self._traverse_variable_dependencies(
|
|
80
|
+
variable_name=variable_name,
|
|
81
|
+
variable_dependency=self._variables[dep.name],
|
|
82
|
+
deps=deps + [custom_func.definition_name(), dep.name],
|
|
83
|
+
)
|
|
84
|
+
|
|
69
85
|
def _ensure_no_variable_cycles(self, variables: Dict[str, SyntaxTree]):
|
|
70
86
|
for variable_name, variable_definition in variables.items():
|
|
71
87
|
self._traverse_variable_dependencies(
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/resolvable.py
RENAMED
|
@@ -193,6 +193,14 @@ class NamedCustomFunction(NamedArgument, ABC):
|
|
|
193
193
|
class ParsedCustomFunction(NamedCustomFunction):
|
|
194
194
|
num_input_args: int
|
|
195
195
|
|
|
196
|
+
def definition_name(self) -> str:
|
|
197
|
+
"""
|
|
198
|
+
Returns
|
|
199
|
+
-------
|
|
200
|
+
The function definition name, including the %
|
|
201
|
+
"""
|
|
202
|
+
return f"%{self.name}"
|
|
203
|
+
|
|
196
204
|
|
|
197
205
|
@dataclass(frozen=True)
|
|
198
206
|
class FunctionType(NamedArgument, ABC):
|
|
@@ -160,9 +160,20 @@ class VariableDependency(ABC):
|
|
|
160
160
|
raise UNREACHABLE
|
|
161
161
|
|
|
162
162
|
@final
|
|
163
|
-
def
|
|
163
|
+
def custom_function_dependencies(
|
|
164
164
|
self, custom_function_definitions: Dict[str, "VariableDependency"]
|
|
165
165
|
) -> Set[ParsedCustomFunction]:
|
|
166
|
+
"""
|
|
167
|
+
Parameters
|
|
168
|
+
----------
|
|
169
|
+
custom_function_definitions
|
|
170
|
+
Definition of all currently existing custom functions. Needed to check whether
|
|
171
|
+
a lambda function's input function is custom or not.
|
|
172
|
+
|
|
173
|
+
Returns
|
|
174
|
+
-------
|
|
175
|
+
All custom function dependencies
|
|
176
|
+
"""
|
|
166
177
|
custom_functions = self.custom_functions
|
|
167
178
|
for lambda_func in self.lambdas:
|
|
168
179
|
if lambda_func.value in custom_function_definitions:
|
|
@@ -185,7 +196,7 @@ class VariableDependency(ABC):
|
|
|
185
196
|
True if it contains all input variables as a dependency. False otherwise.
|
|
186
197
|
"""
|
|
187
198
|
# If there are lambdas, see if they are custom functions. If so, check them
|
|
188
|
-
for custom_function in self.
|
|
199
|
+
for custom_function in self.custom_function_dependencies(custom_function_definitions):
|
|
189
200
|
if not custom_function_definitions[custom_function.name].is_subset_of(
|
|
190
201
|
variables=variables, custom_function_definitions=custom_function_definitions
|
|
191
202
|
):
|
|
@@ -205,7 +216,7 @@ class VariableDependency(ABC):
|
|
|
205
216
|
True if it contains any of the input variables. False otherwise.
|
|
206
217
|
"""
|
|
207
218
|
# If there are lambdas, see if they are custom functions. If so, check them
|
|
208
|
-
for custom_function in self.
|
|
219
|
+
for custom_function in self.custom_function_dependencies(custom_function_definitions):
|
|
209
220
|
if custom_function_definitions[custom_function.name].contains(
|
|
210
221
|
variables=variables, custom_function_definitions=custom_function_definitions
|
|
211
222
|
):
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__pypi_version__ = "2025.12.31.post2";__local_version__ = "2025.12.31+7ac525f"
|
|
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.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/output_transaction_log.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/cli/parsers/cli_to_sub.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/config_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/plugin.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/plugin_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/plugin/preset_plugins.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/preset_options.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/validators/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/config/validators/options.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/source_plugin.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/downloader.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/downloaders/url/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/entry_parent.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/script/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/entries/variables/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/audio_extract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/embed_thumbnail.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/file_convert.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/filter_exclude.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/filter_include.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/internal/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/internal/view.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/match_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/split_by_chapters.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/square_thumbnail.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/static_nfo_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/plugins/throttle_protection.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/prebuilt_presets/__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
|
|
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.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/functions/__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
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/script_output.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/function.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/syntax_tree.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/types/variable.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/exceptions.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/name_validation.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/script/utils/type_checking.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/subscriptions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/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
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/nfo_validators.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/regex_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/string_datetime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/validators/validators.py
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub/ytdl_additions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ytdl_sub-2025.12.31.post2 → ytdl_sub-2025.12.31.post3}/src/ytdl_sub.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|