1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-07 11:42:43 +01:00

[nexx] Add support for Multi Player JS Setup(closes #23052)

This commit is contained in:
Remita Amine 2019-11-13 19:09:32 +01:00
parent 48970d5cc8
commit eb22d1b557

View File

@ -108,7 +108,7 @@ class NexxIE(InfoExtractor):
@staticmethod @staticmethod
def _extract_domain_id(webpage): def _extract_domain_id(webpage):
mobj = re.search( mobj = re.search(
r'<script\b[^>]+\bsrc=["\'](?:https?:)?//require\.nexx(?:\.cloud|cdn\.com)/(?P<id>\d+)', r'<script\b[^>]+\bsrc=["\'](?:https?:)?//(?:require|arc)\.nexx(?:\.cloud|cdn\.com)/(?:sdk/)?(?P<id>\d+)',
webpage) webpage)
return mobj.group('id') if mobj else None return mobj.group('id') if mobj else None
@ -123,7 +123,7 @@ def _extract_urls(webpage):
domain_id = NexxIE._extract_domain_id(webpage) domain_id = NexxIE._extract_domain_id(webpage)
if domain_id: if domain_id:
for video_id in re.findall( for video_id in re.findall(
r'(?is)onPLAYReady.+?_play\.init\s*\(.+?\s*,\s*["\']?(\d+)', r'(?is)onPLAYReady.+?_play\.(?:init|(?:control\.)?addPlayer)\s*\(.+?\s*,\s*["\']?(\d+)',
webpage): webpage):
entries.append( entries.append(
'https://api.nexx.cloud/v3/%s/videos/byid/%s' 'https://api.nexx.cloud/v3/%s/videos/byid/%s'
@ -410,8 +410,8 @@ def find_video(result):
class NexxEmbedIE(InfoExtractor): class NexxEmbedIE(InfoExtractor):
_VALID_URL = r'https?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?P<id>[^/?#&]+)' _VALID_URL = r'https?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:video/)?(?P<id>[^/?#&]+)'
_TEST = { _TESTS = [{
'url': 'http://embed.nexx.cloud/748/KC1614647Z27Y7T?autoplay=1', 'url': 'http://embed.nexx.cloud/748/KC1614647Z27Y7T?autoplay=1',
'md5': '16746bfc28c42049492385c989b26c4a', 'md5': '16746bfc28c42049492385c989b26c4a',
'info_dict': { 'info_dict': {
@ -420,7 +420,6 @@ class NexxEmbedIE(InfoExtractor):
'title': 'Nervenkitzel Achterbahn', 'title': 'Nervenkitzel Achterbahn',
'alt_title': 'Karussellbauer in Deutschland', 'alt_title': 'Karussellbauer in Deutschland',
'description': 'md5:ffe7b1cc59a01f585e0569949aef73cc', 'description': 'md5:ffe7b1cc59a01f585e0569949aef73cc',
'release_year': 2005,
'creator': 'SPIEGEL TV', 'creator': 'SPIEGEL TV',
'thumbnail': r're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 2761, 'duration': 2761,
@ -431,7 +430,10 @@ class NexxEmbedIE(InfoExtractor):
'format': 'bestvideo', 'format': 'bestvideo',
'skip_download': True, 'skip_download': True,
}, },
} }, {
'url': 'https://embed.nexx.cloud/11888/video/DSRTO7UVOX06S7',
'only_matching': True,
}]
@staticmethod @staticmethod
def _extract_urls(webpage): def _extract_urls(webpage):