]> git.bitcoin.ninja Git - youtube-dl/commitdiff
Add TF1IE
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Sat, 29 Jun 2013 12:43:35 +0000 (14:43 +0200)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Sat, 29 Jun 2013 13:07:25 +0000 (15:07 +0200)
youtube_dl/extractor/__init__.py
youtube_dl/extractor/wat.py

index 65a23d52b3faa7897ee60fbf7059d7876c5271d8..721eb93809ffa0cb4be84547e59508c69a72095f 100644 (file)
@@ -54,7 +54,7 @@ from .vbox7 import Vbox7IE
 from .vevo import VevoIE
 from .vimeo import VimeoIE
 from .vine import VineIE
 from .vevo import VevoIE
 from .vimeo import VimeoIE
 from .vine import VineIE
-from .wat import WatIE
+from .wat import WatIE, TF1IE
 from .wimp import WimpIE
 from .worldstarhiphop import WorldStarHipHopIE
 from .xhamster import XHamsterIE
 from .wimp import WimpIE
 from .worldstarhiphop import WorldStarHipHopIE
 from .xhamster import XHamsterIE
index aba4159e9b856d627bc5fe4cff1f45a8259ca432..723410542e5e9e592b02f31c9d58b0a31b69c896 100644 (file)
@@ -1,3 +1,5 @@
+# coding: utf-8
+
 import json
 import re
 
 import json
 import re
 
@@ -46,3 +48,31 @@ class WatIE(InfoExtractor):
                 'title': title,
                 'thumbnail': thumbnail,
                 }
                 'title': title,
                 'thumbnail': thumbnail,
                 }
+
+class TF1IE(InfoExtractor):
+    """
+    TF1 uses the wat.tv player, currently it can only download videos with the
+    html5 player enabled, it cannot download HD videos or the news.
+    """
+    _VALID_URL = r'http://videos.tf1.fr/.*-(.*?).html'
+    _TEST = {
+        u'url': u'http://videos.tf1.fr/auto-moto/citroen-grand-c4-picasso-2013-presentation-officielle-8062060.html',
+        u'file': u'6bysb.mp4',
+        u'md5': u'66789d3e91278d332f75e1feb7aea327',
+        u'info_dict': {
+            u"title": u"Citroën Grand C4 Picasso 2013 : présentation officielle"
+        }
+    }
+
+    def _real_extract(self, url):
+        mobj = re.match(self._VALID_URL, url)
+        id = mobj.group(1)
+        webpage = self._download_webpage(url, id)
+        embed_url = self._html_search_regex(r'"(https://www.wat.tv/embedframe/.*?)"',
+                                webpage, 'embed url')
+        embed_page = self._download_webpage(embed_url, id, u'Downloading embed player page')
+        wat_id = self._search_regex(r'UVID=(.*?)&', embed_page, 'wat id')
+        wat_info = self._download_webpage('http://www.wat.tv/interface/contentv3/%s' % wat_id, id, u'Downloading Wat info')
+        wat_info = json.loads(wat_info)['media']
+        wat_url = wat_info['url']
+        return self.url_result(wat_url, 'Wat')