ytdl-sub 2026.2.2__tar.gz → 2026.2.2.post1__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-2026.2.2 → ytdl_sub-2026.2.2.post1}/PKG-INFO +1 -1
- ytdl_sub-2026.2.2.post1/src/ytdl_sub/__init__.py +1 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/entrypoint.py +9 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/parsers/main.py +11 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/PKG-INFO +1 -1
- ytdl_sub-2026.2.2/src/ytdl_sub/__init__.py +0 -1
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/LICENSE +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/README.md +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/pyproject.toml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/setup.cfg +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/output_summary.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/output_transaction_log.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/parsers/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/parsers/cli_to_sub.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/cli/parsers/dl.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/config_file.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/config_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/defaults.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/overrides.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/plugin.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/plugin_mapping.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/plugin_operation.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/preset_plugins.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/preset.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/preset_options.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/validators/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/validators/options.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/validators/variable_validation.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/info_json/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/source_plugin.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/url/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/url/downloader.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/url/validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/ytdl_options_builder.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/ytdlp.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/base_entry.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/entry.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/entry_parent.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/custom_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/function_scripts.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/variable_definitions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/variable_types.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/variables/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/variables/override_variables.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/main.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/audio_extract.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/chapters.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/date_range.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/embed_thumbnail.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/file_convert.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/filter_exclude.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/filter_include.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/format.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/internal/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/internal/view.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/match_filters.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/music_tags.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/nfo_tags.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/output_directory_nfo_tags.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/split_by_chapters.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/square_thumbnail.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/static_nfo_tags.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/subtitles.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/throttle_protection.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/plugins/video_tags.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/download_deletion_options.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/filter_duration.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/filter_keywords.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/throttle_protection.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/url_bilateral.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/url_categorized.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/internal/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/internal/view.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/albums_from_chapters.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/albums_from_playlists.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/singles.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music_videos/music_video_extras.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/array_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/boolean_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/conditional_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/date_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/error_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/json_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/map_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/numeric_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/print_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/regex_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/string_functions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/parser.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/script.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/script_output.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/array.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/function.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/map.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/resolvable.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/syntax_tree.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/variable.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/variable_dependency.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/exception_formatters.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/exceptions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/name_validation.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/type_checking.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/base_subscription.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription_download.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription_validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/thread/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/thread/log_entries_downloaded_listener.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/chapters.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/datetime.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/exceptions.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/ffmpeg.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/file_handler.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/file_lock.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/file_path.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/logger.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/retry.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/script.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/scriptable.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/subtitles.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/system.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/thumbnail.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/xml.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/utils/yaml.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/audo_codec_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/file_path_validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/nfo_validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/regex_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/source_variable_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/strict_dict_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/string_datetime.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/string_formatter_validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/string_select_validator.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/validators.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/ytdl_additions/__init__.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/SOURCES.txt +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/dependency_links.txt +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/entry_points.txt +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/requires.txt +0 -0
- {ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__pypi_version__ = "2026.02.02.post1";__local_version__ = "2026.02.02+ced547b"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import gc
|
|
2
2
|
import os
|
|
3
|
+
import random
|
|
3
4
|
import sys
|
|
4
5
|
from datetime import datetime
|
|
5
6
|
from pathlib import Path
|
|
@@ -75,6 +76,7 @@ def _download_subscriptions_from_yaml_files(
|
|
|
75
76
|
subscription_override_dict: Dict,
|
|
76
77
|
update_with_info_json: bool,
|
|
77
78
|
dry_run: bool,
|
|
79
|
+
shuffle: bool,
|
|
78
80
|
) -> List[Subscription]:
|
|
79
81
|
"""
|
|
80
82
|
Downloads all subscriptions from one or many subscription yaml files.
|
|
@@ -91,6 +93,8 @@ def _download_subscriptions_from_yaml_files(
|
|
|
91
93
|
Whether to actually download or update using existing info json
|
|
92
94
|
dry_run
|
|
93
95
|
Whether to dry run or not
|
|
96
|
+
shuffle
|
|
97
|
+
Whether to shuffle the subscription download order
|
|
94
98
|
|
|
95
99
|
Returns
|
|
96
100
|
-------
|
|
@@ -112,6 +116,10 @@ def _download_subscriptions_from_yaml_files(
|
|
|
112
116
|
subscription_override_dict=subscription_override_dict,
|
|
113
117
|
)
|
|
114
118
|
|
|
119
|
+
if shuffle:
|
|
120
|
+
logger.info("Shuffling subscriptions")
|
|
121
|
+
random.shuffle(subscriptions)
|
|
122
|
+
|
|
115
123
|
for subscription in subscriptions:
|
|
116
124
|
with subscription.exception_handling():
|
|
117
125
|
logger.info(
|
|
@@ -253,6 +261,7 @@ def main() -> List[Subscription]:
|
|
|
253
261
|
subscription_override_dict=subscription_override_dict,
|
|
254
262
|
update_with_info_json=args.update_with_info_json,
|
|
255
263
|
dry_run=args.dry_run,
|
|
264
|
+
shuffle=args.shuffle,
|
|
256
265
|
)
|
|
257
266
|
|
|
258
267
|
# One-off download
|
|
@@ -172,6 +172,10 @@ class SubArguments:
|
|
|
172
172
|
short="-o",
|
|
173
173
|
long="--dl-override",
|
|
174
174
|
)
|
|
175
|
+
SHUFFLE = CLIArgument(
|
|
176
|
+
short="-sh",
|
|
177
|
+
long="--shuffle",
|
|
178
|
+
)
|
|
175
179
|
|
|
176
180
|
|
|
177
181
|
subscription_parser = subparsers.add_parser("sub")
|
|
@@ -197,6 +201,13 @@ subscription_parser.add_argument(
|
|
|
197
201
|
help="override all subscription config values using `dl` syntax, "
|
|
198
202
|
"i.e. --dl-override='--ytdl_options.max_downloads 3'",
|
|
199
203
|
)
|
|
204
|
+
subscription_parser.add_argument(
|
|
205
|
+
SubArguments.SHUFFLE.short,
|
|
206
|
+
SubArguments.SHUFFLE.long,
|
|
207
|
+
action="store_true",
|
|
208
|
+
help="shuffle subscription order when downloading",
|
|
209
|
+
default=False,
|
|
210
|
+
)
|
|
200
211
|
|
|
201
212
|
###################################################################################################
|
|
202
213
|
# DOWNLOAD PARSER
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__pypi_version__ = "2026.02.02";__local_version__ = "2026.02.02+c163f97"
|
|
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-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/plugin/plugin_operation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/config/validators/variable_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/downloaders/info_json/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/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-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/custom_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/function_scripts.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/script/variable_definitions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/entries/variables/override_variables.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
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/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-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/players.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/helpers/url.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/internal/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/internal/view.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/singles.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music/soundcloud.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/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-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/array_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/boolean_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/conditional_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/date_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/error_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/json_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/map_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/numeric_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/print_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/functions/regex_functions.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/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-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/types/variable_dependency.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/script/utils/exception_formatters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/base_subscription.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription_download.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/subscriptions/subscription_validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/thread/log_entries_downloaded_listener.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
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/audo_codec_validator.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/file_path_validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/source_variable_validator.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/strict_dict_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/string_formatter_validators.py
RENAMED
|
File without changes
|
{ytdl_sub-2026.2.2 → ytdl_sub-2026.2.2.post1}/src/ytdl_sub/validators/string_select_validator.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
|