about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-12-07 22:14:45 +0600
committerSergey M․ <dstftw@gmail.com>2015-12-07 22:14:45 +0600
commit0d2d967cc77e445c781bf7bd9a00b75b3bc2236e (patch)
treef73e59d8fa5e5ac11beeb18c37402fba0e9bc3aa
parenta5e52a1fd486db46e2115b949da29ec6c03b9bac (diff)
downloadyoutube-dl-0d2d967cc77e445c781bf7bd9a00b75b3bc2236e.tar.gz
youtube-dl-0d2d967cc77e445c781bf7bd9a00b75b3bc2236e.tar.xz
youtube-dl-0d2d967cc77e445c781bf7bd9a00b75b3bc2236e.zip
[wimp] Fix extraction (Closes #7784)
-rw-r--r--youtube_dl/extractor/wimp.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/youtube_dl/extractor/wimp.py b/youtube_dl/extractor/wimp.py
index e4f50e64c..022a3d1b5 100644
--- a/youtube_dl/extractor/wimp.py
+++ b/youtube_dl/extractor/wimp.py
@@ -5,7 +5,7 @@ from .youtube import YoutubeIE
 
 
 class WimpIE(InfoExtractor):
-    _VALID_URL = r'http://(?:www\.)?wimp\.com/(?P<id>[^/]+)/'
+    _VALID_URL = r'http://(?:www\.)?wimp\.com/(?P<id>[^/]+)'
     _TESTS = [{
         'url': 'http://www.wimp.com/maruexhausted/',
         'md5': 'ee21217ffd66d058e8b16be340b74883',
@@ -28,18 +28,23 @@ class WimpIE(InfoExtractor):
 
     def _real_extract(self, url):
         video_id = self._match_id(url)
+
         webpage = self._download_webpage(url, video_id)
-        video_url = self._search_regex(
-            [r"[\"']file[\"']\s*[:,]\s*[\"'](.+?)[\"']", r"videoId\s*:\s*[\"']([^\"']+)[\"']"],
-            webpage, 'video URL')
-        if YoutubeIE.suitable(video_url):
-            self.to_screen('Found YouTube video')
+
+        youtube_id = self._search_regex(
+            r"videoId\s*:\s*[\"']([0-9A-Za-z_-]{11})[\"']",
+            webpage, 'video URL', default=None)
+        if youtube_id:
             return {
                 '_type': 'url',
-                'url': video_url,
+                'url': youtube_id,
                 'ie_key': YoutubeIE.ie_key(),
             }
 
+        video_url = self._search_regex(
+            r'<video[^>]+>\s*<source src=(["\'])(?P<url>.+?)\1',
+            webpage, 'video URL', group='url')
+
         return {
             'id': video_id,
             'url': video_url,