X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Farte.py;h=3e119e21b39ba2ab6bc504cf1d19a90008bfbd24;hb=46c329d6f66368a7129e136ffe3fdf40dbb67b91;hp=a4c786d78a99787cfbf720009ba5534a27925551;hpb=305168ca3ee869aed5e95212ed529bf0e6e2f37c;p=youtube-dl diff --git a/youtube_dl/extractor/arte.py b/youtube_dl/extractor/arte.py index a4c786d78..3e119e21b 100644 --- a/youtube_dl/extractor/arte.py +++ b/youtube_dl/extractor/arte.py @@ -114,23 +114,25 @@ class ArteTVPlus7IE(InfoExtractor): r'program\s*:\s*({.+?["\']embed_html["\'].+?}),?\s*\n', webpage, 'program', default=None) if program: - embed_html = self._parse_json(program,video_id) + embed_html = self._parse_json(program, video_id) if embed_html: iframe_url = find_iframe_url(embed_html['embed_html']) if iframe_url: 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) - # Differend kind of embed URL (e.g. + title = self._search_regex( + r']+title=(["\'])(?P.+?)\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( r'<iframe[^>]+src=(["\'])(?P<url>.+?)\1', 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'] @@ -138,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 @@ -240,6 +242,7 @@ class ArteTVFutureIE(ArteTVPlus7IE): 'id': '050940-028-A', 'ext': 'mp4', 'title': 'Les écrevisses aussi peuvent être anxieuses', + 'upload_date': '20140902', }, }, { 'url': 'http://future.arte.tv/fr/la-science-est-elle-responsable', @@ -306,11 +309,12 @@ class ArteTVMagazineIE(ArteTVPlus7IE): _TESTS = [{ # Embedded via <iframe src="http://www.arte.tv/arte_vp/index.php?json_url=..." 'url': 'http://www.arte.tv/magazine/trepalium/fr/entretien-avec-le-realisateur-vincent-lannoo-trepalium', - 'md5': '66a093339c1278bb3719157ef07107b2', + 'md5': '2a9369bcccf847d1c741e51416299f25', 'info_dict': { 'id': '065965-000-A', 'ext': 'mp4', 'title': 'Trepalium - Extrait Ep.01', + 'upload_date': '20160121', }, }, { # Embedded via <iframe src="http://www.arte.tv/guide/fr/embed/054813-004-A/medium"