projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1ed2c4b
)
[nintendo] fix extraction and partially add support for Nintendo Direct videos(#4592)
author
Remita Amine
<remitamine@gmail.com>
Sat, 30 Nov 2019 22:48:26 +0000
(23:48 +0100)
committer
Remita Amine
<remitamine@gmail.com>
Sat, 30 Nov 2019 22:48:26 +0000
(23:48 +0100)
youtube_dl/extractor/nintendo.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/nintendo.py
b/youtube_dl/extractor/nintendo.py
index 4b4e66b059527c337c2b4c9a210b4cf39c1b7a87..ff8f70ba662a11a42df5c827e71ac54025bcb8c9 100644
(file)
--- a/
youtube_dl/extractor/nintendo.py
+++ b/
youtube_dl/extractor/nintendo.py
@@
-5,13
+5,12
@@
import re
from .common import InfoExtractor
from .ooyala import OoyalaIE
from .common import InfoExtractor
from .ooyala import OoyalaIE
-from ..utils import unescapeHTML
class NintendoIE(InfoExtractor):
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 = [{
_TESTS = [{
- 'url': 'http
://www.nintendo.com/games/detail/yEiAzhU2eQI1KZ7wOHhngFoAHc1FpHwj
',
+ 'url': 'http
s://www.nintendo.com/games/detail/duck-hunt-wii-u/
',
'info_dict': {
'id': 'MzMmticjp0VPzO3CCj4rmFOuohEuEWoW',
'ext': 'flv',
'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',
},
'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):
}]
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(
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(
return self.playlist_result(
- entries, page_id,
unescapeHTML(self._og_search_title(webpage, fatal=False))
)
+ entries, page_id,
title
)