RaiPlay: Handle multiple arrays of subtitles
This commit is contained in:
parent
162bcc68dc
commit
095f9df2ad
@ -120,6 +120,19 @@ class RaiBaseIE(InfoExtractor):
|
|||||||
})
|
})
|
||||||
return subtitles
|
return subtitles
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _extract_subtitles_from_list(subtitle_array):
|
||||||
|
subtitles = {}
|
||||||
|
if isinstance(subtitle_array, list):
|
||||||
|
for item in subtitle_array:
|
||||||
|
lang = item.get('language')
|
||||||
|
url = item.get('url')
|
||||||
|
if isinstance(url, compat_str) and '' != url and isinstance(lang, compat_str) and '' != lang:
|
||||||
|
subtitles[lang.lower()] = [{
|
||||||
|
'ext': url[-3:],
|
||||||
|
'url': url,
|
||||||
|
}]
|
||||||
|
return subtitles
|
||||||
|
|
||||||
class RaiPlayIE(RaiBaseIE):
|
class RaiPlayIE(RaiBaseIE):
|
||||||
_VALID_URL = r'(?P<url>https?://(?:www\.)?raiplay\.it/.+?-(?P<id>%s)\.html)' % RaiBaseIE._UUID_RE
|
_VALID_URL = r'(?P<url>https?://(?:www\.)?raiplay\.it/.+?-(?P<id>%s)\.html)' % RaiBaseIE._UUID_RE
|
||||||
@ -142,21 +155,25 @@ class RaiPlayIE(RaiBaseIE):
|
|||||||
'season': '2016',
|
'season': '2016',
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
'url': 'http://www.raiplay.it/video/2014/04/Report-del-07042014-cb27157f-9dd0-4aee-b788-b1f67643a391.html',
|
'url': 'https://www.raiplay.it/video/2019/10/Report-del-21102019-La-fabbrica-della-paura-825ce3a7-8573-46c8-80d2-cde1b519fd01.html',
|
||||||
'md5': '8970abf8caf8aef4696e7b1f2adfc696',
|
'md5': '8970abf8caf8aef4696e7b1f2adfc696',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'cb27157f-9dd0-4aee-b788-b1f67643a391',
|
"id": "825ce3a7-8573-46c8-80d2-cde1b519fd01",
|
||||||
'ext': 'mp4',
|
"title": "Report - La fabbrica della paura",
|
||||||
'title': 'Report del 07/04/2014',
|
"alt_title": "St 2019/20 - La fabbrica della paura - 21/10/2019 ",
|
||||||
'alt_title': 'S2013/14 - Puntata del 07/04/2014',
|
|
||||||
'description': 'md5:f27c544694cacb46a078db84ec35d2d9',
|
'description': 'md5:f27c544694cacb46a078db84ec35d2d9',
|
||||||
'thumbnail': r're:^https?://.*\.jpg$',
|
"ext": "mp4",
|
||||||
'uploader': 'Rai 5',
|
"series": "Report",
|
||||||
'creator': 'Rai 5',
|
"season_number": 7,
|
||||||
'duration': 6160,
|
"season": "2019/20",
|
||||||
'series': 'Report',
|
"subtitles": {
|
||||||
'season_number': 5,
|
"it": [
|
||||||
'season': '2013/14',
|
{
|
||||||
|
"ext": "srt",
|
||||||
|
"url": "http://creativemedia4-rai-it.akamaized.net/infocdn/raitre/report/Report_EP_Puntate/11217587.srt"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'params': {
|
'params': {
|
||||||
'skip_download': True,
|
'skip_download': True,
|
||||||
@ -191,8 +208,12 @@ class RaiPlayIE(RaiBaseIE):
|
|||||||
timestamp = unified_timestamp(try_get(
|
timestamp = unified_timestamp(try_get(
|
||||||
media, lambda x: x['availabilities'][0]['start'], compat_str))
|
media, lambda x: x['availabilities'][0]['start'], compat_str))
|
||||||
|
|
||||||
subtitles = self._extract_subtitles(url, video.get('subtitles'))
|
subtitles = {}
|
||||||
|
if '' != video.get('subtitles'):
|
||||||
|
subtitles = self._extract_subtitles(url, video.get('subtitles'))
|
||||||
|
else:
|
||||||
|
if video.get('subtitlesArray'):
|
||||||
|
subtitles = self._extract_subtitles_from_list(video.get('subtitlesArray'))
|
||||||
info = {
|
info = {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': self._live_title(title) if relinker_info.get(
|
'title': self._live_title(title) if relinker_info.get(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user