[downloader/mhtml] Fix fragments with absolute urls (#3044)

Authored-by: coletdjnz
pull/3066/head
coletdev 3 years ago committed by GitHub
parent 17322130a9
commit b3edc8068e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -166,7 +166,11 @@ body > figure > img {
if (i + 1) <= ctx['fragment_index']: if (i + 1) <= ctx['fragment_index']:
continue continue
fragment_url = fragment.get('url')
if not fragment_url:
assert fragment_base_url
fragment_url = urljoin(fragment_base_url, fragment['path']) fragment_url = urljoin(fragment_base_url, fragment['path'])
success, frag_content = self._download_fragment(ctx, fragment_url, info_dict) success, frag_content = self._download_fragment(ctx, fragment_url, info_dict)
if not success: if not success:
continue continue

@ -187,7 +187,7 @@ class FranceTVIE(InfoExtractor):
'protocol': 'mhtml', 'protocol': 'mhtml',
'url': 'about:invalid', 'url': 'about:invalid',
'fragments': [{ 'fragments': [{
'path': sheet, 'url': sheet,
# XXX: not entirely accurate; each spritesheet seems to be # XXX: not entirely accurate; each spritesheet seems to be
# a 10×10 grid of thumbnails corresponding to approximately # a 10×10 grid of thumbnails corresponding to approximately
# 2 seconds of the video; the last spritesheet may be shorter # 2 seconds of the video; the last spritesheet may be shorter

@ -3208,7 +3208,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'width': width, 'width': width,
'height': height, 'height': height,
'fragments': [{ 'fragments': [{
'path': url.replace('$M', str(j)), 'url': url.replace('$M', str(j)),
'duration': min(fragment_duration, duration - (j * fragment_duration)), 'duration': min(fragment_duration, duration - (j * fragment_duration)),
} for j in range(math.ceil(fragment_count))], } for j in range(math.ceil(fragment_count))],
} }

Loading…
Cancel
Save