ArteTVIE: support emission urls that don't contain the video id
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Fri, 5 Jul 2013 10:56:41 +0000 (12:56 +0200)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Fri, 5 Jul 2013 10:56:41 +0000 (12:56 +0200)
Like http://www.arte.tv/guide/fr/emissions/AJT/arte-journal

youtube_dl/extractor/arte.py

index 14725276d95ddd572423de8300b8332346f12798..f5267249051e6d0e516a7b2561de8ebf62823f12 100644 (file)
@@ -77,7 +77,12 @@ class ArteTvIE(InfoExtractor):
 
     def _extract_emission(self, url, video_id, lang):
         """Extract from www.arte.tv/guide"""
-        json_url = 'http://org-www.arte.tv/papi/tvguide/videos/stream/player/F/%s_PLUS7-F/ALL/ALL.json' % video_id
+        if video_id.replace('-','').isdigit():
+            json_url = 'http://org-www.arte.tv/papi/tvguide/videos/stream/player/F/%s_PLUS7-F/ALL/ALL.json' % video_id
+        else:
+            # We don't know the real id of the video, we have to search in the webpage
+            webpage = self._download_webpage(url, video_id)
+            json_url = self._html_search_regex(r'arte_vp_url="(.*?)"', webpage, 'json url')
 
         json_info = self._download_webpage(json_url, video_id, 'Downloading info json')
         self.report_extraction(video_id)