]> jfr.im git - yt-dlp.git/commitdiff
[bitchute] Fix error for geoblocking
authorAdrian Heine <redacted>
Fri, 11 Sep 2020 21:31:44 +0000 (23:31 +0200)
committerAdrian Heine <redacted>
Fri, 11 Sep 2020 21:31:44 +0000 (23:31 +0200)
Closes #26564.

youtube_dl/extractor/bitchute.py

index 0c773e66e1c7349802b4bb8425e844163d18da75..92fc70b5aa910d3d17acaaaafaf16484d5499788 100644 (file)
@@ -6,6 +6,8 @@
 
 from .common import InfoExtractor
 from ..utils import (
+    ExtractorError,
+    GeoRestrictedError,
     orderedSet,
     unified_strdate,
     urlencode_postdata,
@@ -59,8 +61,14 @@ def _real_extract(self, url):
             for format_url in orderedSet(format_urls)]
 
         if not formats:
-            formats = self._parse_html5_media_entries(
-                url, webpage, video_id)[0]['formats']
+            entries = self._parse_html5_media_entries(
+                url, webpage, video_id)
+            if not entries:
+                error = self._html_search_regex(r'<h1 class="page-title">([^<]+)</h1>', webpage, 'error', default='Cannot find video')
+                if error == 'Video Unavailable':
+                    raise GeoRestrictedError(error)
+                raise ExtractorError(error)
+            formats = entries[0]['formats']
 
         self._check_formats(formats, video_id)
         self._sort_formats(formats)