aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordirkf <fieldhouse@gmx.net>2025-11-04 21:52:43 +0000
committerdirkf <fieldhouse@gmx.net>2025-11-21 01:52:11 +0000
commitaeb1254fcf89ea43876522371ca6d1e3c2bff25f (patch)
treef6104e2b11e9e3f13578ff6a68143971d01d6998
parent25890f2ad102f9bfaaea7b725e4977c521908680 (diff)
[YouTube] Fix playlist thumbnail extraction
Thx seproDev, yt-dlp/yt-dlp#11615
-rw-r--r--youtube_dl/extractor/youtube.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 9a1b87304..044796018 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -3664,15 +3664,25 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
'Unsupported lockup view model content type "{0}"{1}'.format(content_type, bug_reports_message()),
only_once=True)
return
+
thumb_keys = ('contentImage',) + thumb_keys + ('thumbnailViewModel', 'image')
+
return merge_dicts(self.url_result(
- url, ie=ie.ie_key(), video_id=content_id), {
- 'title': traverse_obj(view_model, (
- 'metadata', 'lockupMetadataViewModel', 'title',
- 'content', T(compat_str))),
- 'thumbnails': self._extract_thumbnails(
- view_model, thumb_keys, final_key='sources'),
- })
+ url, ie=ie.ie_key(), video_id=content_id),
+ traverse_obj(view_model, {
+ 'title': ('metadata', 'lockupMetadataViewModel', 'title',
+ 'content', T(compat_str)),
+ 'thumbnails': T(lambda vm: self._extract_thumbnails(
+ vm, thumb_keys, final_key='sources')),
+ 'duration': (
+ 'contentImage', 'thumbnailViewModel', 'overlays',
+ Ellipsis, (
+ ('thumbnailBottomOverlayViewModel', 'badges'),
+ ('thumbnailOverlayBadgeViewModel', 'thumbnailBadges')
+ ), Ellipsis, 'thumbnailBadgeViewModel', 'text',
+ T(parse_duration), any),
+ })
+ )
def _extract_shorts_lockup_view_model(self, view_model):
content_id = traverse_obj(view_model, (