]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/brightcove.py
[extractor] Better error message for DRM (#729)
[yt-dlp.git] / yt_dlp / extractor / brightcove.py
index 31606d3bda02a11190d73554f25798f946e9d9c7..bb68dc481fe6e7a7f77239e1de6b1c2c7b9d5fc9 100644 (file)
@@ -11,7 +11,6 @@
     compat_etree_fromstring,
     compat_HTTPError,
     compat_parse_qs,
-    compat_urllib_parse_urlparse,
     compat_urlparse,
     compat_xml_parse_error,
 )
@@ -26,6 +25,7 @@
     js_to_json,
     mimetype2ext,
     parse_iso8601,
+    parse_qs,
     smuggle_url,
     str_or_none,
     try_get,
@@ -177,7 +177,7 @@ def _build_brightcove_url(cls, object_str):
             flashvars = {}
 
         data_url = object_doc.attrib.get('data', '')
-        data_url_params = compat_parse_qs(compat_urllib_parse_urlparse(data_url).query)
+        data_url_params = parse_qs(data_url)
 
         def find_param(name):
             if name in flashvars:
@@ -549,7 +549,7 @@ def build_format_id(kind):
                     error.get('message') or error.get('error_subcode') or error['error_code'], expected=True)
             elif (not self.get_param('allow_unplayable_formats')
                     and sources and num_drm_sources == len(sources)):
-                raise ExtractorError('This video is DRM protected.', expected=True)
+                self.report_drm(video_id)
 
         self._sort_formats(formats)