]> jfr.im git - yt-dlp.git/commitdiff
Report error message from youtube as error (Closes #33)
authorpukkandan <redacted>
Mon, 25 Jan 2021 04:56:51 +0000 (10:26 +0530)
committerpukkandan <redacted>
Mon, 25 Jan 2021 04:56:51 +0000 (10:26 +0530)
:ci skip dl

youtube_dlc/extractor/youtube.py

index 20657bb1961183dacd68373f1ad4dbce6e650930..7f3485db77fadca88cf8750895479c17fe3ab014 100644 (file)
@@ -3371,8 +3371,16 @@ def _real_extract(self, url):
         webpage = self._download_webpage(url, item_id)
         identity_token = self._extract_identity_token(webpage, item_id)
         data = self._extract_yt_initial_data(item_id, webpage)
+        err_msg = None
         for alert_type, alert_message in self._extract_alerts(data):
-            self._downloader.report_warning('YouTube said: %s - %s' % (alert_type, alert_message))
+            if alert_type.lower() == 'error':
+                if err_msg:
+                    self._downloader.report_warning('YouTube said: %s - %s' % ('ERROR', err_msg))
+                err_msg = alert_message
+            else:
+                self._downloader.report_warning('YouTube said: %s - %s' % (alert_type, alert_message))
+        if err_msg:
+            raise ExtractorError('YouTube said: %s' % err_msg, expected=True)
         tabs = try_get(
             data, lambda x: x['contents']['twoColumnBrowseResultsRenderer']['tabs'], list)
         if tabs: