From ff274e3c16e751169e54e55955f3301ac6cb363a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sun, 25 Feb 2018 18:34:52 +0700 Subject: [PATCH] [streamango] Capture and output error messages --- youtube_dl/extractor/streamango.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/youtube_dl/extractor/streamango.py b/youtube_dl/extractor/streamango.py index 08d84495a..238bba87f 100644 --- a/youtube_dl/extractor/streamango.py +++ b/youtube_dl/extractor/streamango.py @@ -7,6 +7,7 @@ from ..compat import compat_chr from ..utils import ( determine_ext, + ExtractorError, int_or_none, js_to_json, ) @@ -100,6 +101,16 @@ def decrypt_src(encoded, val): 'height': int_or_none(video.get('height')), 'tbr': int_or_none(video.get('bitrate')), }) + + if not formats: + error = self._search_regex( + r']+\bclass=["\']lead[^>]+>(.+?)

', 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 {