nintendo.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from __future__ import unicode_literals
  2. from .common import InfoExtractor
  3. from .ooyala import OoyalaIE
  4. import re
  5. class NintendoIE(InfoExtractor):
  6. _VALID_URL = r'https?://(?:www\.)?nintendo\.com/games/detail/(?P<id>[\w-]+)'
  7. _TESTS = [{
  8. 'url': 'http://www.nintendo.com/games/detail/yEiAzhU2eQI1KZ7wOHhngFoAHc1FpHwj',
  9. 'info_dict': {
  10. 'id': 'MzMmticjp0VPzO3CCj4rmFOuohEuEWoW',
  11. 'ext': 'flv',
  12. 'title': 'Duck Hunt Wii U VC NES - Trailer',
  13. 'duration': 60.326,
  14. },
  15. 'params': {
  16. 'skip_download': True,
  17. },
  18. 'add_ie': ['Ooyala'],
  19. }, {
  20. 'url': 'http://www.nintendo.com/games/detail/tokyo-mirage-sessions-fe-wii-u',
  21. 'info_dict': {
  22. 'id': 'tokyo-mirage-sessions-fe-wii-u',
  23. },
  24. 'params': {
  25. 'skip_download': True,
  26. },
  27. 'add_ie': ['Ooyala'],
  28. 'playlist_count': 4,
  29. }]
  30. def _real_extract(self, url):
  31. video_id = self._match_id(url)
  32. webpage = self._download_webpage(url, video_id)
  33. ooyala_codes = re.findall(
  34. r'data-video-code=(["\'])(?P<code>.+?)\1',
  35. webpage)
  36. entries = []
  37. for ooyala_code in ooyala_codes:
  38. entries.append(OoyalaIE._build_url_result(ooyala_code[1]))
  39. return self.playlist_result(entries, video_id, self._og_search_title(webpage))