aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor')
-rw-r--r--yt_dlp/extractor/common.py4
-rw-r--r--yt_dlp/extractor/generic.py8
-rw-r--r--yt_dlp/extractor/prankcast.py17
-rw-r--r--yt_dlp/extractor/tv24ua.py7
-rw-r--r--yt_dlp/extractor/youtube.py15
5 files changed, 34 insertions, 17 deletions
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index ab8def57d..ec3fb58e5 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -1108,7 +1108,9 @@ class InfoExtractor:
return self._downloader.params.get(name, default, *args, **kwargs)
return default
- def report_drm(self, video_id, partial=False):
+ def report_drm(self, video_id, partial=NO_DEFAULT):
+ if partial is not NO_DEFAULT:
+ self._downloader.deprecation_warning('InfoExtractor.report_drm no longer accepts the argument partial')
self.raise_no_formats('This video is DRM protected', expected=True, video_id=video_id)
def report_extraction(self, id_or_name):
diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py
index b7a5ffb5b..5abde33a9 100644
--- a/yt_dlp/extractor/generic.py
+++ b/yt_dlp/extractor/generic.py
@@ -32,6 +32,7 @@ from ..utils import (
unified_timestamp,
unsmuggle_url,
url_or_none,
+ variadic,
xpath_attr,
xpath_text,
xpath_with_ns,
@@ -2820,11 +2821,8 @@ class GenericIE(InfoExtractor):
webpage)
if mobj is not None:
varname = mobj.group(1)
- sources = self._parse_json(
- mobj.group(2), video_id, transform_source=js_to_json,
- fatal=False) or []
- if not isinstance(sources, list):
- sources = [sources]
+ sources = variadic(self._parse_json(
+ mobj.group(2), video_id, transform_source=js_to_json, fatal=False) or [])
formats = []
subtitles = {}
for source in sources:
diff --git a/yt_dlp/extractor/prankcast.py b/yt_dlp/extractor/prankcast.py
index 7446caf3c..0eb5f98d1 100644
--- a/yt_dlp/extractor/prankcast.py
+++ b/yt_dlp/extractor/prankcast.py
@@ -21,6 +21,23 @@ class PrankCastIE(InfoExtractor):
'tags': ['prank call', 'prank'],
'upload_date': '20220825'
}
+ }, {
+ 'url': 'https://prankcast.com/phonelosers/showreel/2048-NOT-COOL',
+ 'info_dict': {
+ 'id': '2048',
+ 'ext': 'mp3',
+ 'title': 'NOT COOL',
+ 'display_id': 'NOT-COOL',
+ 'timestamp': 1665028364,
+ 'uploader': 'phonelosers',
+ 'channel_id': 6,
+ 'duration': 4044,
+ 'cast': ['phonelosers'],
+ 'description': '',
+ 'categories': ['prank'],
+ 'tags': ['prank call', 'prank'],
+ 'upload_date': '20221006'
+ }
}]
def _real_extract(self, url):
diff --git a/yt_dlp/extractor/tv24ua.py b/yt_dlp/extractor/tv24ua.py
index 553a70b6b..2f2571df7 100644
--- a/yt_dlp/extractor/tv24ua.py
+++ b/yt_dlp/extractor/tv24ua.py
@@ -1,12 +1,7 @@
import re
from .common import InfoExtractor
-from ..utils import (
- determine_ext,
- js_to_json,
- mimetype2ext,
- traverse_obj,
-)
+from ..utils import determine_ext, js_to_json, mimetype2ext, traverse_obj
class TV24UAVideoIE(InfoExtractor):
diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py
index 857c9670c..a12e5b03e 100644
--- a/yt_dlp/extractor/youtube.py
+++ b/yt_dlp/extractor/youtube.py
@@ -1721,7 +1721,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'live_status': 'not_live',
'playable_in_embed': True,
'comment_count': int,
- 'channel_follower_count': int
+ 'channel_follower_count': int,
+ 'chapters': list,
},
'params': {
'skip_download': True,
@@ -1754,7 +1755,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'live_status': 'not_live',
'channel_url': 'https://www.youtube.com/channel/UCH1dpzjCEiGAt8CXkryhkZg',
'comment_count': int,
- 'channel_follower_count': int
+ 'channel_follower_count': int,
+ 'chapters': list,
},
'params': {
'skip_download': True,
@@ -2019,7 +2021,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'duration': 522,
'channel': 'kudvenkat',
'comment_count': int,
- 'channel_follower_count': int
+ 'channel_follower_count': int,
+ 'chapters': list,
},
'params': {
'skip_download': True,
@@ -2169,7 +2172,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'like_count': int,
'live_status': 'not_live',
'playable_in_embed': True,
- 'channel_follower_count': int
+ 'channel_follower_count': int,
+ 'chapters': list,
},
'params': {
'format': '17', # 3gp format available on android
@@ -2213,7 +2217,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'duration': 248,
'categories': ['Education'],
'age_limit': 0,
- 'channel_follower_count': int
+ 'channel_follower_count': int,
+ 'chapters': list,
}, 'params': {'format': 'mhtml', 'skip_download': True}
}, {
# Ensure video upload_date is in UTC timezone (video was uploaded 1641170939)