[streamango] Capture and output error messages

This commit is contained in:
Sergey M․ 2018-02-25 18:34:52 +07:00
parent c106237d56
commit ff274e3c16
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -7,6 +7,7 @@
from ..compat import compat_chr from ..compat import compat_chr
from ..utils import ( from ..utils import (
determine_ext, determine_ext,
ExtractorError,
int_or_none, int_or_none,
js_to_json, js_to_json,
) )
@ -100,6 +101,16 @@ def decrypt_src(encoded, val):
'height': int_or_none(video.get('height')), 'height': int_or_none(video.get('height')),
'tbr': int_or_none(video.get('bitrate')), 'tbr': int_or_none(video.get('bitrate')),
}) })
if not formats:
error = self._search_regex(
r'<p[^>]+\bclass=["\']lead[^>]+>(.+?)</p>', webpage,
'error', default=None)
if not error and '>Sorry' in webpage:
error = 'Video %s is not available' % video_id
if error:
raise ExtractorError(error, expected=True)
self._sort_formats(formats) self._sort_formats(formats)
return { return {