| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  | # coding: utf-8 | 
					
						
							| 
									
										
										
										
											2014-01-15 16:48:55 +05:30
										 |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-15 11:49:50 +05:30
										 |  |  | from .common import InfoExtractor | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  | from ..utils import month_by_name | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-15 11:49:50 +05:30
										 |  |  | class FranceInterIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2016-09-02 18:31:52 +02:00
										 |  |  |     _VALID_URL = r'https?://(?:www\.)?franceinter\.fr/emissions/(?P<id>[^?#]+)' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |     _TEST = { | 
					
						
							| 
									
										
										
										
											2016-09-17 15:44:37 +07:00
										 |  |  |         'url': 'https://www.franceinter.fr/emissions/affaires-sensibles/affaires-sensibles-07-septembre-2016', | 
					
						
							|  |  |  |         'md5': '9e54d7bdb6fdc02a841007f8a975c094', | 
					
						
							| 
									
										
										
										
											2016-02-14 15:37:17 +06:00
										 |  |  |         'info_dict': { | 
					
						
							| 
									
										
										
										
											2016-09-17 15:44:37 +07:00
										 |  |  |             'id': 'affaires-sensibles/affaires-sensibles-07-septembre-2016', | 
					
						
							| 
									
										
										
										
											2014-09-19 20:58:50 +07:00
										 |  |  |             'ext': 'mp3', | 
					
						
							| 
									
										
										
										
											2016-09-17 15:44:37 +07:00
										 |  |  |             'title': 'Affaire Cahuzac : le contentieux du compte en Suisse', | 
					
						
							|  |  |  |             'description': 'md5:401969c5d318c061f86bda1fa359292b', | 
					
						
							|  |  |  |             'upload_date': '20160907', | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |         }, | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2014-01-15 11:49:50 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |     def _real_extract(self, url): | 
					
						
							| 
									
										
										
										
											2015-12-22 11:30:35 +01:00
										 |  |  |         video_id = self._match_id(url) | 
					
						
							| 
									
										
										
										
											2014-01-17 03:10:54 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |         webpage = self._download_webpage(url, video_id) | 
					
						
							| 
									
										
										
										
											2014-09-19 20:58:50 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-02 18:31:52 +02:00
										 |  |  |         video_url = self._search_regex( | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  |             r'(?s)<div[^>]+class=["\']page-diffusion["\'][^>]*>.*?<button[^>]+data-url=(["\'])(?P<url>(?:(?!\1).)+)\1', | 
					
						
							|  |  |  |             webpage, 'video url', group='url') | 
					
						
							| 
									
										
										
										
											2016-09-02 18:31:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         title = self._og_search_title(webpage) | 
					
						
							|  |  |  |         description = self._og_search_description(webpage) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  |         upload_date_str = self._search_regex( | 
					
						
							| 
									
										
										
										
											2018-01-21 11:50:53 +01:00
										 |  |  |             r'class=["\']\s*cover-emission-period\s*["\'][^>]*>[^<]+\s+(\d{1,2}\s+[^\s]+\s+\d{4})<', | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  |             webpage, 'upload date', fatal=False) | 
					
						
							|  |  |  |         if upload_date_str: | 
					
						
							|  |  |  |             upload_date_list = upload_date_str.split() | 
					
						
							|  |  |  |             upload_date_list.reverse() | 
					
						
							| 
									
										
										
										
											2016-09-16 22:02:59 +07:00
										 |  |  |             upload_date_list[1] = '%02d' % (month_by_name(upload_date_list[1], lang='fr') or 0) | 
					
						
							| 
									
										
										
										
											2016-09-17 15:44:37 +07:00
										 |  |  |             upload_date_list[2] = '%02d' % int(upload_date_list[2]) | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  |             upload_date = ''.join(upload_date_list) | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             upload_date = None | 
					
						
							| 
									
										
										
										
											2014-09-19 20:58:50 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |         return { | 
					
						
							|  |  |  |             'id': video_id, | 
					
						
							| 
									
										
										
										
											2014-09-19 20:58:50 +07:00
										 |  |  |             'title': title, | 
					
						
							|  |  |  |             'description': description, | 
					
						
							| 
									
										
										
										
											2016-09-14 23:59:13 +07:00
										 |  |  |             'upload_date': upload_date, | 
					
						
							| 
									
										
										
										
											2014-01-17 03:09:07 +01:00
										 |  |  |             'formats': [{ | 
					
						
							|  |  |  |                 'url': video_url, | 
					
						
							|  |  |  |                 'vcodec': 'none', | 
					
						
							|  |  |  |             }], | 
					
						
							|  |  |  |         } |