[soundcloud/generic] Add support for playlists
[youtube-dl] / youtube_dl / extractor / franceinter.py
index 47e06f5a1ada8a976a7988b438e0fd06115cc799..deb1b0b9dc55244874029af3c47412184c2c1e50 100644 (file)
@@ -1,40 +1,38 @@
+# coding: utf-8
+from __future__ import unicode_literals
+
 import re
 
 from .common import InfoExtractor
+
+
 class FranceInterIE(InfoExtractor):
-    
-    _VALID_URL=r'http://www.franceinter.fr/player/reecouter\?play=(?P<id>[0-9]{6})'
-    IE_NAME='FranceInter'
-    _TEST={
-           u'url':u'http://www.franceinter.fr/player/reecouter?play=793962',
-           u'file':u'793962.mp3'
-           
-           
-           }
-           
-    #Easier to use python string matching than regex for a simple match
-    def get_download_url(self,webpage):
-        
-        start=webpage.index('&urlAOD=')+8
-        end=webpage.index('&startTime')
-        return u'http://www.franceinter.fr/%s'%webpage[start:end]
-        
-    def get_title(self,webpage):
-        start=webpage.index('<span class="title diffusion">')+30
-        end=webpage.index('</span> dans')
-        
-        return webpage[start:end]
-    def _real_extract(self,url):
+    _VALID_URL = r'http://(?:www\.)?franceinter\.fr/player/reecouter\?play=(?P<id>[0-9]{6})'
+    _TEST = {
+        'url': 'http://www.franceinter.fr/player/reecouter?play=793962',
+        'file': '793962.mp3',
+        'md5': '4764932e466e6f6c79c317d2e74f6884',
+        "info_dict": {
+            "title": "L’Histoire dans les jeux vidéo",
+        },
+    }
 
+    def _real_extract(self, url):
         mobj = re.match(self._VALID_URL, url)
         video_id = mobj.group('id')
-        
-        webpage=self._download_webpage(url,video_id)
-        
-        title=self.get_title(webpage)
-        
-        video_url=self.get_download_url(webpage)
-        
-        return{'id': video_id,u'url': video_url,u'title': title}
-        
-        
+
+        webpage = self._download_webpage(url, video_id)
+        title = self._html_search_regex(
+            r'<span class="roll_overflow">(.*?)</span></h1>', webpage, 'title')
+        path = self._search_regex(
+            r'&urlAOD=(.*?)&startTime', webpage, 'video url')
+        video_url = 'http://www.franceinter.fr/' + path
+
+        return {
+            'id': video_id,
+            'formats': [{
+                'url': video_url,
+                'vcodec': 'none',
+            }],
+            'title': title,
+        }