Browse Source

[vevo] Use _download_smil to provide informative error messages

totalwebcasting
Yen Chi Hsuan 9 years ago
parent
commit
b6afc225c8
1 changed files with 5 additions and 7 deletions
  1. +5
    -7
      youtube_dl/extractor/vevo.py

+ 5
- 7
youtube_dl/extractor/vevo.py View File

@ -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 @@ class VevoIE(InfoExtractor):
}) })
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 @@ class VevoIE(InfoExtractor):
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_url, video_id, 'Downloading SMIL info', fatal=False)
if smil_xml:
formats.extend(self._formats_from_smil(smil_xml))
smil_doc = self._download_smil(smil_url, video_id, fatal=False)
if smil_doc:
formats.extend(self._formats_from_smil(smil_doc))
self._sort_formats(formats) self._sort_formats(formats)
timestamp = int_or_none(self._search_regex( timestamp = int_or_none(self._search_regex(


Loading…
Cancel
Save