]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/rmcdecouverte.py
[ie/crunchyroll] Fix stream extraction (#10005)
[yt-dlp.git] / yt_dlp / extractor / rmcdecouverte.py
index ecd16d130a1bb7aedff814298e2acb4e385ab0f6..8d29b302bb1cf1f32c52619d9f742baaf6b8060f 100644 (file)
@@ -1,8 +1,3 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
-import re
-
 from .common import InfoExtractor
 from .brightcove import BrightcoveLegacyIE
 from ..compat import (
@@ -13,7 +8,7 @@
 
 
 class RMCDecouverteIE(InfoExtractor):
-    _VALID_URL = r'https?://rmcdecouverte\.bfmtv\.com/(?:[^/]+/(?P<id>[^?#/]+)|(?P<live_id>mediaplayer-direct))'
+    _VALID_URL = r'https?://rmcdecouverte\.bfmtv\.com/(?:[^?#]*_(?P<id>\d+)|mediaplayer-direct)/?(?:[#?]|$)'
 
     _TESTS = [{
         'url': 'https://rmcdecouverte.bfmtv.com/vestiges-de-guerre_22240/les-bunkers-secrets-domaha-beach_25303/',
@@ -27,7 +22,6 @@ class RMCDecouverteIE(InfoExtractor):
             'upload_date': '20210428',
         },
         'params': {
-            'format': 'bestvideo',
             'skip_download': True,
         },
     }, {
@@ -45,6 +39,13 @@ class RMCDecouverteIE(InfoExtractor):
             'skip_download': True,
         },
         'skip': 'only available for a week',
+    }, {
+        'url': 'https://rmcdecouverte.bfmtv.com/avions-furtifs-la-technologie-de-lextreme_10598',
+        'only_matching': True,
+    }, {
+        # The website accepts any URL as long as it has _\d+ at the end
+        'url': 'https://rmcdecouverte.bfmtv.com/any/thing/can/go/here/_10598',
+        'only_matching': True,
     }, {
         # live, geo restricted, bypassable
         'url': 'https://rmcdecouverte.bfmtv.com/mediaplayer-direct/',
@@ -53,8 +54,8 @@ class RMCDecouverteIE(InfoExtractor):
     BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/1969646226001/default_default/index.html?videoId=%s'
 
     def _real_extract(self, url):
-        mobj = re.match(self._VALID_URL, url)
-        display_id = mobj.group('id') or mobj.group('live_id')
+        mobj = self._match_valid_url(url)
+        display_id = mobj.group('id') or 'direct'
         webpage = self._download_webpage(url, display_id)
         brightcove_legacy_url = BrightcoveLegacyIE._extract_brightcove_url(webpage)
         if brightcove_legacy_url: