1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-11-20 19:15:17 +08:00

[spiegel] Use generalized formats pre-testing

This commit is contained in:
Sergey M․ 2015-01-26 00:34:31 +06:00
parent a57e8ce658
commit d862a4f94f

View File

@ -4,14 +4,7 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..compat import (
compat_urlparse,
compat_HTTPError,
)
from ..utils import (
HEADRequest,
ExtractorError,
)
from ..compat import compat_urlparse
from .spiegeltv import SpiegeltvIE
@ -72,16 +65,6 @@ class SpiegelIE(InfoExtractor):
if n.tag.startswith('type') and n.tag != 'type6':
format_id = n.tag.rpartition('type')[2]
video_url = base_url + n.find('./filename').text
# Test video URLs beforehand as some of them are invalid
try:
self._request_webpage(
HEADRequest(video_url), video_id,
'Checking %s video URL' % format_id)
except ExtractorError as e:
if isinstance(e.cause, compat_HTTPError) and e.cause.code == 404:
self.report_warning(
'%s video URL is invalid, skipping' % format_id, video_id)
continue
formats.append({
'format_id': format_id,
'url': video_url,
@ -94,6 +77,7 @@ class SpiegelIE(InfoExtractor):
})
duration = float(idoc[0].findall('./duration')[0].text)
self._check_formats(formats, video_id)
self._sort_formats(formats)
return {