[youtube] Fix extraction (closes #20758, closes #20759, closes #20761, closes #20762...
[youtube-dl] / youtube_dl / extractor / fusion.py
index 771abcdb198280111785f7319a1209faac2a62fe..25e284d46f228151447b88c20811d4e37742a0d6 100644 (file)
@@ -5,10 +5,9 @@ from .ooyala import OoyalaIE
 
 
 class FusionIE(InfoExtractor):
-    _VALID_URL = r'https?://(?:www\.)?fusion\.net/video/\d+/(?P<id>[\w-]+)'
-    _TEST = {
-        'url': 'http://fusion.net/video/201781/u-s-and-panamanian-forces-work-together-to-stop-a-vessel-smuggling-drugs/',
-        'md5': '55c3dd61d2b96dc17c4ab6711d02a39e',
+    _VALID_URL = r'https?://(?:www\.)?fusion\.(?:net|tv)/video/(?P<id>\d+)'
+    _TESTS = [{
+        'url': 'http://fusion.tv/video/201781/u-s-and-panamanian-forces-work-together-to-stop-a-vessel-smuggling-drugs/',
         'info_dict': {
             'id': 'ZpcWNoMTE6x6uVIIWYpHh0qQDjxBuq5P',
             'ext': 'mp4',
@@ -16,14 +15,21 @@ class FusionIE(InfoExtractor):
             'description': 'md5:0cc84a9943c064c0f46b128b41b1b0d7',
             'duration': 140.0,
         },
+        'params': {
+            'skip_download': True,
+        },
         'add_ie': ['Ooyala'],
-    }
+    }, {
+        'url': 'http://fusion.tv/video/201781',
+        'only_matching': True,
+    }]
 
     def _real_extract(self, url):
         display_id = self._match_id(url)
         webpage = self._download_webpage(url, display_id)
 
-        ooyala_code = self._search_regex(r'data-video-id="([^"]{32})"',
-            webpage, 'ooyala code')
+        ooyala_code = self._search_regex(
+            r'data-ooyala-id=(["\'])(?P<code>(?:(?!\1).)+)\1',
+            webpage, 'ooyala code', group='code')
 
         return OoyalaIE._build_url_result(ooyala_code)