This commit is contained in:
bato3 2018-07-12 18:10:26 +02:00
parent 99d88a0b5c
commit 6d4dd47f73

View File

@ -2483,25 +2483,21 @@ class InfoExtractor(object):
def _find_clappr_data(self, webpage, video_id=None, transform_source=js_to_json): def _find_clappr_data(self, webpage, video_id=None, transform_source=js_to_json):
""" """
Find Clappr.Player data Find Clappr.Player data
http://clappr.github.io/classes/Player.html#method_constructor https://github.com/clappr/clappr
""" """
mobj = re.search( mobj = re.search(
r'new Clappr.Player\((?P<json>{.+?})\);', r'new Clappr.Player\((?P<json>{.+?})\);',
webpage.replace("\n", "").replace("\t", "")) webpage.replace("\n", "").replace("\t", ""))
if mobj: if mobj:
try: try:
clappr_data = self._parse_json(mobj.group('json'), clappr_data = self._parse_json(mobj.group('json'), video_id=video_id, transform_source=transform_source)
video_id=video_id,
transform_source=transform_source)
except ExtractorError: except ExtractorError:
pass pass
else: else:
if isinstance(clappr_data, dict): if isinstance(clappr_data, dict):
return clappr_data return clappr_data
def _parse_clappr_data(self, clappr_data, video_id=None, require_title=True, m3u8_id=None, mpd_id=None, rtmp_params=None, base_url=None):
def _parse_clappr_data(self, clappr_data, video_id=None, require_title=True,
m3u8_id=None, mpd_id=None, rtmp_params=None, base_url=None):
""" """
Parse Clappr player data Parse Clappr player data
http://clappr.github.io/classes/Player.html#method_constructor http://clappr.github.io/classes/Player.html#method_constructor
@ -2512,8 +2508,7 @@ class InfoExtractor(object):
'subtitles': {}, 'subtitles': {},
} }
info_dict['formats'] = self._extract_url_list_formats( info_dict['formats'] = self._extract_url_list_formats(
clappr_data.get("sources", [clappr_data.get("source")]), clappr_data.get("sources", [clappr_data.get("source")]), video_id=video_id, m3u8_id=m3u8_id, mpd_id=mpd_id, rtmp_params=rtmp_params, base_url=base_url)
video_id=video_id,m3u8_id=m3u8_id, mpd_id=mpd_id, rtmp_params=rtmp_params, base_url=base_url)
thumbnail = clappr_data.get("poster") thumbnail = clappr_data.get("poster")
if thumbnail: if thumbnail:
@ -2612,11 +2607,9 @@ class InfoExtractor(object):
}) })
return formats return formats
def _extract_url_list_formats(self, sources, video_id=None, def _extract_url_list_formats(self, sources, video_id=None, m3u8_id=None, mpd_id=None, rtmp_params=None, base_url=None):
m3u8_id=None, mpd_id=None, rtmp_params=None, base_url=None):
""" """
Transform ["url1", "url2", {source: <>, mimeType: <>}] to formats. Transform ["url1", "url2", {source: <>, mimeType: <>}] to formats.
Knows
""" """
formats = [] formats = []
format_id = -1 format_id = -1