| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  | # encoding: utf-8 | 
					
						
							|  |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-23 22:28:19 +02:00
										 |  |  | import re | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .common import InfoExtractor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class InaIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2014-02-05 23:01:24 +01:00
										 |  |  |     _VALID_URL = r'http://(?:www\.)?ina\.fr/video/(?P<id>I?[A-Z0-9]+)' | 
					
						
							| 
									
										
										
										
											2013-06-27 20:46:46 +02:00
										 |  |  |     _TEST = { | 
					
						
							| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  |         'url': 'http://www.ina.fr/video/I12055569/francois-hollande-je-crois-que-c-est-clair-video.html', | 
					
						
							|  |  |  |         'md5': 'a667021bf2b41f8dc6049479d9bb38a3', | 
					
						
							|  |  |  |         'info_dict': { | 
					
						
							|  |  |  |             'id': 'I12055569', | 
					
						
							|  |  |  |             'ext': 'mp4', | 
					
						
							|  |  |  |             'title': 'François Hollande "Je crois que c\'est clair"', | 
					
						
							| 
									
										
										
										
											2013-06-27 20:46:46 +02:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2013-06-23 22:28:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  |     def _real_extract(self, url): | 
					
						
							| 
									
										
										
										
											2013-06-23 22:28:19 +02:00
										 |  |  |         mobj = re.match(self._VALID_URL, url) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         video_id = mobj.group('id') | 
					
						
							| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  |         mrss_url = 'http://player.ina.fr/notices/%s.mrss' % video_id | 
					
						
							|  |  |  |         info_doc = self._download_xml(mrss_url, video_id) | 
					
						
							| 
									
										
										
										
											2013-06-23 22:28:19 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         self.report_extraction(video_id) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  |         video_url = info_doc.find('.//{http://search.yahoo.com/mrss/}player').attrib['url'] | 
					
						
							| 
									
										
										
										
											2013-06-23 22:28:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-04 23:15:04 +01:00
										 |  |  |         return { | 
					
						
							|  |  |  |             'id': video_id, | 
					
						
							|  |  |  |             'url': video_url, | 
					
						
							|  |  |  |             'title': info_doc.find('.//title').text, | 
					
						
							|  |  |  |         } |