aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp/__init__.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-06-17 10:18:21 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-06-17 10:36:52 +0530
commit7e88d7d78f452ea69f06bbdf23f82e9ad7c3de5e (patch)
tree368974f9939f111ddb274adaad03ac88d782fa92 /yt_dlp/__init__.py
parentf0c9fb96827ff798a48626e7e5d32a9c5de7b97e (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__.py7
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: