mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-07-09 06:48:30 +00:00
[ie/NHKRadiruLive] rework to use new API
This commit is contained in:
parent
9bf23902ce
commit
159dbb37e1
@ -863,11 +863,12 @@ class NhkRadiruLiveIE(InfoExtractor):
|
|||||||
# radio 1, no area specified
|
# radio 1, no area specified
|
||||||
'url': 'https://www.nhk.or.jp/radio/player/?ch=r1',
|
'url': 'https://www.nhk.or.jp/radio/player/?ch=r1',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'r1-tokyo',
|
'id': 'bs-r1-130',
|
||||||
'title': 're:^NHKネットラジオ第1 東京.+$',
|
'title': 're:^NHKラジオ第1・東京.+$',
|
||||||
'ext': 'm4a',
|
'ext': 'm4a',
|
||||||
'thumbnail': 'https://www.nhk.or.jp/common/img/media/r1-200x200.png',
|
'thumbnail': 'https://www.nhk.jp/assets/images/broadcastservice/bs/r1/r1-logo.svg',
|
||||||
'live_status': 'is_live',
|
'live_status': 'is_live',
|
||||||
|
'_old_archive_ids': ['r1-tokyo'],
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
# radio 2, area specified
|
# radio 2, area specified
|
||||||
@ -875,26 +876,28 @@ class NhkRadiruLiveIE(InfoExtractor):
|
|||||||
'url': 'https://www.nhk.or.jp/radio/player/?ch=r2',
|
'url': 'https://www.nhk.or.jp/radio/player/?ch=r2',
|
||||||
'params': {'extractor_args': {'nhkradirulive': {'area': ['fukuoka']}}},
|
'params': {'extractor_args': {'nhkradirulive': {'area': ['fukuoka']}}},
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'r2-fukuoka',
|
'id': 'bs-r2-400',
|
||||||
'title': 're:^NHKネットラジオ第2 福岡.+$',
|
'title': 're:^NHKラジオ第2.+$',
|
||||||
'ext': 'm4a',
|
'ext': 'm4a',
|
||||||
'thumbnail': 'https://www.nhk.or.jp/common/img/media/r2-200x200.png',
|
'thumbnail': 'https://www.nhk.jp/assets/images/broadcastservice/bs/r2/r2-logo.svg',
|
||||||
'live_status': 'is_live',
|
'live_status': 'is_live',
|
||||||
|
'_old_archive_ids': ['r2-fukuoka'],
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
# fm, area specified
|
# fm, area specified
|
||||||
'url': 'https://www.nhk.or.jp/radio/player/?ch=fm',
|
'url': 'https://www.nhk.or.jp/radio/player/?ch=fm',
|
||||||
'params': {'extractor_args': {'nhkradirulive': {'area': ['sapporo']}}},
|
'params': {'extractor_args': {'nhkradirulive': {'area': ['sapporo']}}},
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'fm-sapporo',
|
'id': 'bs-r3-010',
|
||||||
'title': 're:^NHKネットラジオFM 札幌.+$',
|
'title': 're:^NHK FM・札幌.+$',
|
||||||
'ext': 'm4a',
|
'ext': 'm4a',
|
||||||
'thumbnail': 'https://www.nhk.or.jp/common/img/media/fm-200x200.png',
|
'thumbnail': 'https://www.nhk.jp/assets/images/broadcastservice/bs/r3/r3-logo.svg',
|
||||||
'live_status': 'is_live',
|
'live_status': 'is_live',
|
||||||
|
'_old_archive_ids': ['fm-sapporo'],
|
||||||
},
|
},
|
||||||
}]
|
}]
|
||||||
|
|
||||||
_NOA_STATION_IDS = {'r1': 'n1', 'r2': 'n2', 'fm': 'n3'}
|
_NOA_STATION_IDS = {'r1': 'r1', 'r2': 'r2', 'fm': 'r3'}
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
station = self._match_id(url)
|
station = self._match_id(url)
|
||||||
@ -911,12 +914,16 @@ def _real_extract(self, url):
|
|||||||
noa_info = self._download_json(
|
noa_info = self._download_json(
|
||||||
f'https:{config.find(".//url_program_noa").text}'.format(area=data.find('areakey').text),
|
f'https:{config.find(".//url_program_noa").text}'.format(area=data.find('areakey').text),
|
||||||
station, note=f'Downloading {area} station metadata', fatal=False)
|
station, note=f'Downloading {area} station metadata', fatal=False)
|
||||||
present_info = traverse_obj(noa_info, ('nowonair_list', self._NOA_STATION_IDS.get(station), 'present'))
|
broadcast_service = traverse_obj(noa_info, (self._NOA_STATION_IDS.get(station), 'publishedOn'))
|
||||||
|
# alternatively can do like https://api.nhk.jp/r7/t/broadcastservice/bs/r3-130.json (given in the `url` key)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'title': ' '.join(traverse_obj(present_info, (('service', 'area'), 'name', {str}))),
|
**traverse_obj(broadcast_service, {
|
||||||
'id': join_nonempty(station, area),
|
'title': 'broadcastDisplayName',
|
||||||
'thumbnails': traverse_obj(present_info, ('service', 'images', ..., {
|
'id': 'id',
|
||||||
|
}),
|
||||||
|
'_old_archive_ids': [join_nonempty(station, area)],
|
||||||
|
'thumbnails': traverse_obj(broadcast_service, ('logo', ..., {
|
||||||
'url': 'url',
|
'url': 'url',
|
||||||
'width': ('width', {int_or_none}),
|
'width': ('width', {int_or_none}),
|
||||||
'height': ('height', {int_or_none}),
|
'height': ('height', {int_or_none}),
|
||||||
|
Loading…
Reference in New Issue
Block a user