about summary refs log tree commit diff
path: root/youtube_dl/extractor/arte.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-03-07 02:19:54 +0600
committerSergey M․ <dstftw@gmail.com>2016-03-07 02:19:54 +0600
commit46c329d6f66368a7129e136ffe3fdf40dbb67b91 (patch)
tree343cef7ee51c4f904f002cb3048144fdb3bba404 /youtube_dl/extractor/arte.py
parent1818e4c2b4e0f55169d65131f257bb87d1ce52d5 (diff)
downloadyoutube-dl-46c329d6f66368a7129e136ffe3fdf40dbb67b91.tar.gz
youtube-dl-46c329d6f66368a7129e136ffe3fdf40dbb67b91.tar.xz
youtube-dl-46c329d6f66368a7129e136ffe3fdf40dbb67b91.zip
[arte] Improve extraction (Closes #8768)
Diffstat (limited to 'youtube_dl/extractor/arte.py')
-rw-r--r--youtube_dl/extractor/arte.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/youtube_dl/extractor/arte.py b/youtube_dl/extractor/arte.py
index 7f99effa9..3e119e21b 100644
--- a/youtube_dl/extractor/arte.py
+++ b/youtube_dl/extractor/arte.py
@@ -121,7 +121,10 @@ class ArteTVPlus7IE(InfoExtractor):
                 json_url = compat_parse_qs(
                     compat_urllib_parse_urlparse(iframe_url).query)['json_url'][0]
         if json_url:
-            return self._extract_from_json_url(json_url, video_id, lang)
+            title = self._search_regex(
+                r'<h3[^>]+title=(["\'])(?P<title>.+?)\1',
+                webpage, 'title', default=None, group='title')
+            return self._extract_from_json_url(json_url, video_id, lang, title=title)
         # Different kind of embed URL (e.g.
         # http://www.arte.tv/magazine/trepalium/fr/episode-0406-replay-trepalium)
         embed_url = self._search_regex(
@@ -129,7 +132,7 @@ class ArteTVPlus7IE(InfoExtractor):
             webpage, 'embed url', group='url')
         return self.url_result(embed_url)
 
-    def _extract_from_json_url(self, json_url, video_id, lang):
+    def _extract_from_json_url(self, json_url, video_id, lang, title=None):
         info = self._download_json(json_url, video_id)
         player_info = info['videoJsonPlayer']
 
@@ -137,7 +140,7 @@ class ArteTVPlus7IE(InfoExtractor):
         if not upload_date_str:
             upload_date_str = (player_info.get('VRA') or player_info.get('VDA') or '').split(' ')[0]
 
-        title = player_info['VTI'].strip()
+        title = (player_info.get('VTI') or title or player_info['VID']).strip()
         subtitle = player_info.get('VSU', '').strip()
         if subtitle:
             title += ' - %s' % subtitle