1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-05-08 14:59:48 +00:00

[ie/Wimbledon] Add extractor ()

Closes 
Authored by: nnoboa
This commit is contained in:
nnoboa 2023-07-28 14:52:07 -04:00 committed by GitHub
parent c03a58ec99
commit a15fcd299e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 62 additions and 0 deletions

@ -2363,6 +2363,7 @@ from .weyyak import WeyyakIE
from .whyp import WhypIE
from .wikimedia import WikimediaIE
from .willow import WillowIE
from .wimbledon import WimbledonIE
from .wimtv import WimTVIE
from .whowatch import WhoWatchIE
from .wistia import (

@ -0,0 +1,61 @@
from .common import InfoExtractor
from ..utils import (
parse_duration,
traverse_obj,
)
class WimbledonIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?wimbledon\.com/\w+/video/media/(?P<id>\d+).html'
_TESTS = [{
'url': 'https://www.wimbledon.com/en_GB/video/media/6330247525112.html',
'info_dict': {
'id': '6330247525112',
'ext': 'mp4',
'timestamp': 1687972186,
'description': '',
'thumbnail': r're:^https://[\w.-]+\.prod\.boltdns\.net/[^?#]+/image\.jpg',
'upload_date': '20230628',
'title': 'Coco Gauff | My Wimbledon Inspiration',
'tags': ['features', 'trending', 'homepage'],
'uploader_id': '3506358525001',
'duration': 163072.0,
},
}, {
'url': 'https://www.wimbledon.com/en_GB/video/media/6308703111112.html',
'info_dict': {
'id': '6308703111112',
'ext': 'mp4',
'thumbnail': r're:^https://[\w.-]+\.prod\.boltdns\.net/[^?#]+/image\.jpg',
'description': 'null',
'upload_date': '20220629',
'uploader_id': '3506358525001',
'title': 'Roblox | WimbleWorld ',
'duration': 101440.0,
'tags': ['features', 'kids'],
'timestamp': 1656500867,
},
}, {
'url': 'https://www.wimbledon.com/en_US/video/media/6309327106112.html',
'only_matching': True,
}, {
'url': 'https://www.wimbledon.com/es_Es/video/media/6308377909112.html',
'only_matching': True,
}]
def _real_extract(self, url):
video_id = self._match_id(url)
metadata = self._download_json(
f'https://www.wimbledon.com/relatedcontent/rest/v2/wim_v1/en/content/wim_v1_{video_id}_en', video_id)
return {
'_type': 'url_transparent',
'url': f'http://players.brightcove.net/3506358525001/default_default/index.html?videoId={video_id}',
'ie_key': 'BrightcoveNew',
'id': video_id,
**traverse_obj(metadata, {
'title': 'title',
'description': 'description',
'duration': ('metadata', 'duration', {parse_duration}),
}),
}