瀏覽代碼

[teachertube] Capture and output error message

Sergey M․ 7 年之前
父節點
當前提交
9d6458a206
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      youtube_dl/extractor/teachertube.py

+ 8 - 1
youtube_dl/extractor/teachertube.py

@@ -5,8 +5,9 @@ import re
 
 from .common import InfoExtractor
 from ..utils import (
-    qualities,
     determine_ext,
+    ExtractorError,
+    qualities,
 )
 
 
@@ -47,6 +48,12 @@ class TeacherTubeIE(InfoExtractor):
         video_id = self._match_id(url)
         webpage = self._download_webpage(url, video_id)
 
+        error = self._search_regex(
+            r'<div\b[^>]+\bclass=["\']msgBox error[^>]+>([^<]+)', webpage,
+            'error', default=None)
+        if error:
+            raise ExtractorError('%s said: %s' % (self.IE_NAME, error), expected=True)
+
         title = self._html_search_meta('title', webpage, 'title', fatal=True)
         TITLE_SUFFIX = ' - TeacherTube'
         if title.endswith(TITLE_SUFFIX):