[youtube] raise ExtractorError when no data available(#20737)
authorRemita Amine <remitamine@gmail.com>
Mon, 22 Apr 2019 19:31:09 +0000 (20:31 +0100)
committerRemita Amine <remitamine@gmail.com>
Mon, 22 Apr 2019 19:52:43 +0000 (20:52 +0100)
youtube_dl/extractor/youtube.py

index 132572c88cf26b5d0d2fa3efc33aa290b3140755..67eceb5c40858fc924b24a6e4d5e62ba1db70934 100644 (file)
@@ -1671,6 +1671,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                 r'(?s)<h1[^>]+id="unavailable-message"[^>]*>(.+?)</h1>',
                 video_webpage, 'unavailable message', default=None)
 
                 r'(?s)<h1[^>]+id="unavailable-message"[^>]*>(.+?)</h1>',
                 video_webpage, 'unavailable message', default=None)
 
+        if not video_info:
+            unavailable_message = extract_unavailable_message()
+            if not unavailable_message:
+                unavailable_message = 'Unable to extract video data'
+            raise ExtractorError(
+                'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id)
+
         if 'token' not in video_info:
             if 'reason' in video_info:
                 if 'The uploader has not made this video available in your country.' in video_info['reason']:
         if 'token' not in video_info:
             if 'reason' in video_info:
                 if 'The uploader has not made this video available in your country.' in video_info['reason']: