mirror of
https://github.com/ytdl-org/youtube-dl
synced 2024-12-23 12:40:11 +09:00
[srgssrplay] Improve _VALID_URL (closes #21155)
This commit is contained in:
parent
3fe774722b
commit
25b83c2a0e
@ -106,7 +106,16 @@ class SRGSSRIE(InfoExtractor):
|
|||||||
|
|
||||||
class SRGSSRPlayIE(InfoExtractor):
|
class SRGSSRPlayIE(InfoExtractor):
|
||||||
IE_DESC = 'srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sites'
|
IE_DESC = 'srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sites'
|
||||||
_VALID_URL = r'https?://(?:(?:www|play)\.)?(?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/(?:[^/]+/|popup)(?P<type>video|audio)(?:/[^?]+|player)\?id=(?P<id>[0-9a-f\-]{36}|\d+)'
|
_VALID_URL = r'''(?x)
|
||||||
|
https?://
|
||||||
|
(?:(?:www|play)\.)?
|
||||||
|
(?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/
|
||||||
|
(?:
|
||||||
|
[^/]+/(?P<type>video|audio)/[^?]+|
|
||||||
|
popup(?P<type_2>video|audio)player
|
||||||
|
)
|
||||||
|
\?id=(?P<id>[0-9a-f\-]{36}|\d+)
|
||||||
|
'''
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'http://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?id=28e1a57d-5b76-4399-8ab3-9097f071e6c5',
|
'url': 'http://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?id=28e1a57d-5b76-4399-8ab3-9097f071e6c5',
|
||||||
@ -165,18 +174,13 @@ class SRGSSRPlayIE(InfoExtractor):
|
|||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
'url': 'https://www.srf.ch/play/tv/popupvideoplayer?id=c4dba0ca-e75b-43b2-a34f-f708a4932e01',
|
'url': 'https://www.srf.ch/play/tv/popupvideoplayer?id=c4dba0ca-e75b-43b2-a34f-f708a4932e01',
|
||||||
'md5': 'f6247aa7c905b81c9ba7f50fb22e2fbd',
|
'only_matching': True,
|
||||||
'info_dict': {
|
|
||||||
'id': 'c4dba0ca-e75b-43b2-a34f-f708a4932e01',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'upload_date': '20190122',
|
|
||||||
'title': 'Erster Selfie-Stick (1983)',
|
|
||||||
'description': 'md5:23a6b40024e583137e4137f5946543c1',
|
|
||||||
'timestamp': 1548155133,
|
|
||||||
}
|
|
||||||
}]
|
}]
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
bu, media_type, media_id = re.match(self._VALID_URL, url).groups()
|
mobj = re.match(self._VALID_URL, url)
|
||||||
|
bu = mobj.group('bu')
|
||||||
|
media_type = mobj.group('type') or mobj.group('type_2')
|
||||||
|
media_id = mobj.group('id')
|
||||||
# other info can be extracted from url + '&layout=json'
|
# other info can be extracted from url + '&layout=json'
|
||||||
return self.url_result('srgssr:%s:%s:%s' % (bu[:3], media_type, media_id), 'SRGSSR')
|
return self.url_result('srgssr:%s:%s:%s' % (bu[:3], media_type, media_id), 'SRGSSR')
|
||||||
|
Loading…
Reference in New Issue
Block a user