Merge remote-tracking branch 'Tithen-Firion/master'
[youtube-dl] / youtube_dl / extractor / goldenmoustache.py
index c25d2e779878410b57d4c3d149652b22f12e454a..0fb5097244a6218afca0a0908448127f74073b77 100644 (file)
@@ -1,16 +1,11 @@
 from __future__ import unicode_literals
 
-import re
 from .common import InfoExtractor
-from ..utils import (
-    parse_duration,
-    int_or_none,
-)
 
 
 class GoldenMoustacheIE(InfoExtractor):
     _VALID_URL = r'https?://(?:www\.)?goldenmoustache\.com/(?P<display_id>[\w-]+)-(?P<id>\d+)'
-    _TEST = {
+    _TESTS = [{
         'url': 'http://www.goldenmoustache.com/suricate-le-poker-3700/',
         'md5': '0f904432fa07da5054d6c8beb5efb51a',
         'info_dict': {
@@ -18,26 +13,30 @@ class GoldenMoustacheIE(InfoExtractor):
             'ext': 'mp4',
             'title': 'Suricate - Le Poker',
             'description': 'md5:3d1f242f44f8c8cb0a106f1fd08e5dc9',
-            'thumbnail': 'md5:fd41386bc1f932552622da4a7e9a7242',
+            'thumbnail': 're:^https?://.*\.jpg$',
         }
-    }
+    }, {
+        'url': 'http://www.goldenmoustache.com/le-lab-tout-effacer-mc-fly-et-carlito-55249/',
+        'md5': '27f0c50fb4dd5f01dc9082fc67cd5700',
+        'info_dict': {
+            'id': '55249',
+            'ext': 'mp4',
+            'title': 'Le LAB - Tout Effacer (Mc Fly et Carlito)',
+            'description': 'md5:9b7fbf11023fb2250bd4b185e3de3b2a',
+            'thumbnail': 're:^https?://.*\.(?:png|jpg)$',
+        }
+    }]
 
     def _real_extract(self, url):
-        mobj = re.match(self._VALID_URL, url)
-        video_id = mobj.group('id')
-
+        video_id = self._match_id(url)
         webpage = self._download_webpage(url, video_id)
 
-        video_url = self._html_search_regex(r'data-src-type="mp4" data-src="([^"]+)"', webpage, 'video URL')
-
-        title = self._html_search_regex(r'<title>(.*?) - Golden Moustache</title>', webpage, 'title')
-
-        thumbnail = self._html_search_meta('og:image', webpage, 'thumbnail')
-         
-        description = self._html_search_meta('og:description', webpage, 'description')
-
-        view_count = int_or_none(self._html_search_regex(
-            r'<strong>(\d+)</strong>\s*VUES</span>', webpage, 'view count', fatal=False))
+        video_url = self._html_search_regex(
+            r'data-src-type="mp4" data-src="([^"]+)"', webpage, 'video URL')
+        title = self._html_search_regex(
+            r'<title>(.*?)(?: - Golden Moustache)?</title>', webpage, 'title')
+        thumbnail = self._og_search_thumbnail(webpage)
+        description = self._og_search_description(webpage)
 
         return {
             'id': video_id,
@@ -46,5 +45,4 @@ class GoldenMoustacheIE(InfoExtractor):
             'title': title,
             'description': description,
             'thumbnail': thumbnail,
-            'view_count': view_count,
         }