[extractor/common] Properly handle full URLs

This commit is contained in:
Sergey M․ 2015-07-16 01:14:52 +06:00
parent 97f4aecfc1
commit cc357c4db8

View File

@ -851,8 +851,10 @@ def _extract_f4m_formats(self, manifest_url, video_id, preference=None, f4m_id=N
media_nodes = manifest.findall('{http://ns.adobe.com/f4m/2.0}media') media_nodes = manifest.findall('{http://ns.adobe.com/f4m/2.0}media')
for i, media_el in enumerate(media_nodes): for i, media_el in enumerate(media_nodes):
if manifest_version == '2.0': if manifest_version == '2.0':
manifest_url = ('/'.join(manifest_url.split('/')[:-1]) + '/' + media_url = media_el.attrib.get('href') or media_el.attrib['url']
(media_el.attrib.get('href') or media_el.attrib.get('url'))) manifest_url = (
media_url if media_url.startswith('http://') or media_url.startswith('https://')
else ('/'.join(manifest_url.split('/')[:-1]) + '/' + media_url))
tbr = int_or_none(media_el.attrib.get('bitrate')) tbr = int_or_none(media_el.attrib.get('bitrate'))
formats.append({ formats.append({
'format_id': '-'.join(filter(None, [f4m_id, compat_str(i if tbr is None else tbr)])), 'format_id': '-'.join(filter(None, [f4m_id, compat_str(i if tbr is None else tbr)])),