diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-06-17 10:18:21 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-06-17 10:36:52 +0530 |
commit | 7e88d7d78f452ea69f06bbdf23f82e9ad7c3de5e (patch) | |
tree | 368974f9939f111ddb274adaad03ac88d782fa92 /yt_dlp/__init__.py | |
parent | f0c9fb96827ff798a48626e7e5d32a9c5de7b97e (diff) |
Add slicing notation to `--playlist-items`
* Adds support for negative indices and step
* Add `-I` as alias for `--playlist-index`
* Deprecates `--playlist-start`, `--playlist-end`, `--playlist-reverse`, `--no-playlist-reverse`
Closes #2951, Closes #2853
Diffstat (limited to 'yt_dlp/__init__.py')
-rw-r--r-- | yt_dlp/__init__.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py index 73ef03662..1538a7e89 100644 --- a/yt_dlp/__init__.py +++ b/yt_dlp/__init__.py @@ -33,6 +33,7 @@ from .utils import ( DownloadCancelled, DownloadError, GeoUtils, + PlaylistEntries, SameFileError, decodeOption, download_range_func, @@ -372,6 +373,12 @@ def validate_options(opts): opts.parse_metadata = list(itertools.chain(*map(metadataparser_actions, parse_metadata))) # Other options + if opts.playlist_items is not None: + try: + tuple(PlaylistEntries.parse_playlist_items(opts.playlist_items)) + except Exception as err: + raise ValueError(f'Invalid playlist-items {opts.playlist_items!r}: {err}') + geo_bypass_code = opts.geo_bypass_ip_block or opts.geo_bypass_country if geo_bypass_code is not None: try: |