mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[nintendo] fix extraction and partially add support for Nintendo Direct videos(#4592)
This commit is contained in:
		| @@ -5,13 +5,12 @@ import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from .ooyala import OoyalaIE | ||||
| from ..utils import unescapeHTML | ||||
|  | ||||
|  | ||||
| class NintendoIE(InfoExtractor): | ||||
|     _VALID_URL = r'https?://(?:www\.)?nintendo\.com/games/detail/(?P<id>[^/?#&]+)' | ||||
|     _VALID_URL = r'https?://(?:www\.)?nintendo\.com/(?:games/detail|nintendo-direct)/(?P<id>[^/?#&]+)' | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://www.nintendo.com/games/detail/yEiAzhU2eQI1KZ7wOHhngFoAHc1FpHwj', | ||||
|         'url': 'https://www.nintendo.com/games/detail/duck-hunt-wii-u/', | ||||
|         'info_dict': { | ||||
|             'id': 'MzMmticjp0VPzO3CCj4rmFOuohEuEWoW', | ||||
|             'ext': 'flv', | ||||
| @@ -28,7 +27,19 @@ class NintendoIE(InfoExtractor): | ||||
|             'id': 'tokyo-mirage-sessions-fe-wii-u', | ||||
|             'title': 'Tokyo Mirage Sessions ♯FE', | ||||
|         }, | ||||
|         'playlist_count': 3, | ||||
|         'playlist_count': 4, | ||||
|     }, { | ||||
|         'url': 'https://www.nintendo.com/nintendo-direct/09-04-2019/', | ||||
|         'info_dict': { | ||||
|             'id': 'J2bXdmaTE6fe3dWJTPcc7m23FNbc_A1V', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Switch_ROS_ND0904-H264.mov', | ||||
|             'duration': 2324.758, | ||||
|         }, | ||||
|         'params': { | ||||
|             'skip_download': True, | ||||
|         }, | ||||
|         'add_ie': ['Ooyala'], | ||||
|     }] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
| @@ -39,8 +50,11 @@ class NintendoIE(InfoExtractor): | ||||
|         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)] | ||||
|                 r'data-(?:video-id|directVideoId)=(["\'])(?P<code>(?:(?!\1).)+)\1', webpage)] | ||||
|  | ||||
|         title = self._html_search_regex( | ||||
|             r'(?s)<(?:span|div)[^>]+class="(?:title|wrapper)"[^>]*>.*?<h1>(.+?)</h1>', | ||||
|             webpage, 'title', fatal=False) | ||||
|  | ||||
|         return self.playlist_result( | ||||
|             entries, page_id, unescapeHTML(self._og_search_title(webpage, fatal=False))) | ||||
|             entries, page_id, title) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Remita Amine
					Remita Amine