| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  | # coding: utf-8 | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  | import re | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | from .common import InfoExtractor | 
					
						
							|  |  |  | from .ooyala import OoyalaIE | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  | from ..utils import unescapeHTML | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NintendoIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |     _VALID_URL = r'https?://(?:www\.)?nintendo\.com/games/detail/(?P<id>[^/?#&]+)' | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  |     _TESTS = [{ | 
					
						
							|  |  |  |         'url': 'http://www.nintendo.com/games/detail/yEiAzhU2eQI1KZ7wOHhngFoAHc1FpHwj', | 
					
						
							|  |  |  |         'info_dict': { | 
					
						
							|  |  |  |             'id': 'MzMmticjp0VPzO3CCj4rmFOuohEuEWoW', | 
					
						
							|  |  |  |             'ext': 'flv', | 
					
						
							|  |  |  |             'title': 'Duck Hunt Wii U VC NES - Trailer', | 
					
						
							|  |  |  |             'duration': 60.326, | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         'params': { | 
					
						
							|  |  |  |             'skip_download': True, | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         'add_ie': ['Ooyala'], | 
					
						
							|  |  |  |     }, { | 
					
						
							|  |  |  |         'url': 'http://www.nintendo.com/games/detail/tokyo-mirage-sessions-fe-wii-u', | 
					
						
							|  |  |  |         'info_dict': { | 
					
						
							|  |  |  |             'id': 'tokyo-mirage-sessions-fe-wii-u', | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |             'title': 'Tokyo Mirage Sessions ♯FE', | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  |         }, | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |         'playlist_count': 3, | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  |     }] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |         page_id = self._match_id(url) | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |         webpage = self._download_webpage(url, page_id) | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |         entries = [ | 
					
						
							|  |  |  |             OoyalaIE._build_url_result(m.group('code')) | 
					
						
							|  |  |  |             for m in re.finditer( | 
					
						
							|  |  |  |                 r'class=(["\'])embed-video\1[^>]+data-video-code=(["\'])(?P<code>(?:(?!\2).)+)\2', | 
					
						
							|  |  |  |                 webpage)] | 
					
						
							| 
									
										
										
										
											2016-07-03 00:39:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:01:25 +07:00
										 |  |  |         return self.playlist_result( | 
					
						
							|  |  |  |             entries, page_id, unescapeHTML(self._og_search_title(webpage, fatal=False))) |