mirror of https://github.com/yt-dlp/yt-dlp.git
parent
63b2f88bc7
commit
24e3d87431
|
@ -1225,6 +1225,7 @@ from .podomatic import PodomaticIE
|
||||||
from .pokemon import (
|
from .pokemon import (
|
||||||
PokemonIE,
|
PokemonIE,
|
||||||
PokemonWatchIE,
|
PokemonWatchIE,
|
||||||
|
PokemonSoundLibraryIE,
|
||||||
)
|
)
|
||||||
from .pokergo import (
|
from .pokergo import (
|
||||||
PokerGoIE,
|
PokerGoIE,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
|
@ -138,3 +139,42 @@ class PokemonWatchIE(InfoExtractor):
|
||||||
'episode': video_data.get('title'),
|
'episode': video_data.get('title'),
|
||||||
'episode_number': int_or_none(video_data.get('episode')),
|
'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 New Issue