Browse Source

[played] Capture and output error message

Sergey M․ 11 years ago
parent
commit
766306450d
1 changed files with 7 additions and 0 deletions
  1. 7 0
      youtube_dl/extractor/played.py

+ 7 - 0
youtube_dl/extractor/played.py

@@ -6,6 +6,7 @@ import os.path
 
 
 from .common import InfoExtractor
 from .common import InfoExtractor
 from ..utils import (
 from ..utils import (
+    ExtractorError,
     compat_urllib_parse,
     compat_urllib_parse,
     compat_urllib_request,
     compat_urllib_request,
 )
 )
@@ -29,6 +30,12 @@ class PlayedIE(InfoExtractor):
         video_id = self._match_id(url)
         video_id = self._match_id(url)
 
 
         orig_webpage = self._download_webpage(url, video_id)
         orig_webpage = self._download_webpage(url, video_id)
+
+        m_error = re.search(
+            r'(?s)Reason for deletion:.*?<b class="err"[^>]*>(?P<msg>[^<]+)</b>', orig_webpage)
+        if m_error:
+            raise ExtractorError(m_error.group('msg'), expected=True)
+
         fields = re.findall(
         fields = re.findall(
             r'type="hidden" name="([^"]+)"\s+value="([^"]+)">', orig_webpage)
             r'type="hidden" name="([^"]+)"\s+value="([^"]+)">', orig_webpage)
         data = dict(fields)
         data = dict(fields)