commit ff274e3c16e751169e54e55955f3301ac6cb363a
parent c106237d5652e659071114f9d16661df335ae93c
Author: Sergey M․ <dstftw@gmail.com>
Date: Sun, 25 Feb 2018 18:34:52 +0700
[streamango] Capture and output error messages
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/youtube_dl/extractor/streamango.py b/youtube_dl/extractor/streamango.py
@@ -7,6 +7,7 @@ from .common import InfoExtractor
from ..compat import compat_chr
from ..utils import (
determine_ext,
+ ExtractorError,
int_or_none,
js_to_json,
)
@@ -100,6 +101,16 @@ class StreamangoIE(InfoExtractor):
'height': int_or_none(video.get('height')),
'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)
return {