mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 18:41:29 +00:00
[vevo] Use _download_smil to provide informative error messages
This commit is contained in:
parent
ad30dc1e20
commit
b6afc225c8
|
@ -80,7 +80,7 @@ class VevoIE(InfoExtractor):
|
||||||
'title': 'Till I Die - K Camp ft. T.I.',
|
'title': 'Till I Die - K Camp ft. T.I.',
|
||||||
'duration': 193,
|
'duration': 193,
|
||||||
},
|
},
|
||||||
'expected_warnings': ['HTTP Error 404'],
|
'expected_warnings': ['Unable to download SMIL file'],
|
||||||
}]
|
}]
|
||||||
_SMIL_BASE_URL = 'http://smil.lvl3.vevo.com/'
|
_SMIL_BASE_URL = 'http://smil.lvl3.vevo.com/'
|
||||||
|
|
||||||
|
@ -130,9 +130,8 @@ def _formats_from_json(self, video_info):
|
||||||
})
|
})
|
||||||
return formats
|
return formats
|
||||||
|
|
||||||
def _formats_from_smil(self, smil_xml):
|
def _formats_from_smil(self, smil_doc):
|
||||||
formats = []
|
formats = []
|
||||||
smil_doc = compat_etree_fromstring(smil_xml.encode('utf-8'))
|
|
||||||
els = smil_doc.findall('.//{http://www.w3.org/2001/SMIL20/Language}video')
|
els = smil_doc.findall('.//{http://www.w3.org/2001/SMIL20/Language}video')
|
||||||
for el in els:
|
for el in els:
|
||||||
src = el.attrib['src']
|
src = el.attrib['src']
|
||||||
|
@ -233,10 +232,9 @@ def _real_extract(self, url):
|
||||||
if smil_url_m is not None:
|
if smil_url_m is not None:
|
||||||
smil_url = smil_url_m
|
smil_url = smil_url_m
|
||||||
if smil_url:
|
if smil_url:
|
||||||
smil_xml = self._download_webpage(
|
smil_doc = self._download_smil(smil_url, video_id, fatal=False)
|
||||||
smil_url, video_id, 'Downloading SMIL info', fatal=False)
|
if smil_doc:
|
||||||
if smil_xml:
|
formats.extend(self._formats_from_smil(smil_doc))
|
||||||
formats.extend(self._formats_from_smil(smil_xml))
|
|
||||||
|
|
||||||
self._sort_formats(formats)
|
self._sort_formats(formats)
|
||||||
timestamp = int_or_none(self._search_regex(
|
timestamp = int_or_none(self._search_regex(
|
||||||
|
|
Loading…
Reference in a new issue