mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-30 12:01:28 +00:00
parent
63b2f88bc7
commit
24e3d87431
|
@ -1225,6 +1225,7 @@
|
|||
from .pokemon import (
|
||||
PokemonIE,
|
||||
PokemonWatchIE,
|
||||
PokemonSoundLibraryIE,
|
||||
)
|
||||
from .pokergo import (
|
||||
PokerGoIE,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# coding: utf-8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import re
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
|
@ -138,3 +139,42 @@ def _real_extract(self, url):
|
|||
'episode': video_data.get('title'),
|
||||
'episode_number': int_or_none(video_data.get('episode')),
|
||||
})
|
||||
|
||||
|
||||
class PokemonSoundLibraryIE(InfoExtractor):
|
||||
_VALID_URL = r'https?://soundlibrary\.pokemon\.co\.jp'
|
||||
|
||||
_TESTS = [{
|
||||
'url': 'https://soundlibrary.pokemon.co.jp/',
|
||||
'info_dict': {
|
||||
'title': 'Pokémon Diamond and Pearl Sound Tracks',
|
||||
},
|
||||
'playlist_mincount': 149,
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
musicbox_webpage = self._download_webpage(
|
||||
'https://soundlibrary.pokemon.co.jp/musicbox', None,
|
||||
'Downloading list of songs')
|
||||
song_titles = [x.group(1) for x in re.finditer(r'<span>([^>]+?)</span><br/>をてもち曲に加えます。', musicbox_webpage)]
|
||||
song_titles = song_titles[4::2]
|
||||
|
||||
# each songs don't have permalink; instead we return all songs at once
|
||||
song_entries = [{
|
||||
'id': f'pokemon-soundlibrary-{song_id}',
|
||||
'url': f'https://soundlibrary.pokemon.co.jp/api/assets/signing/sounds/wav/{song_id}.wav',
|
||||
# note: the server always serves MP3 files, despite its extension of the URL above
|
||||
'ext': 'mp3',
|
||||
'acodec': 'mp3',
|
||||
'vcodec': 'none',
|
||||
'title': song_title,
|
||||
'track': song_title,
|
||||
'artist': 'Nintendo / Creatures Inc. / GAME FREAK inc.',
|
||||
'uploader': 'Pokémon',
|
||||
'release_year': 2006,
|
||||
'release_date': '20060928',
|
||||
'track_number': song_id,
|
||||
'album': 'Pokémon Diamond and Pearl',
|
||||
} for song_id, song_title in enumerate(song_titles, 1)]
|
||||
|
||||
return self.playlist_result(song_entries, playlist_title='Pokémon Diamond and Pearl Sound Tracks')
|
||||
|
|
Loading…
Reference in a new issue