|
|
|
@ -2,7 +2,6 @@ from .common import InfoExtractor
|
|
|
|
|
from ..utils import (
|
|
|
|
|
clean_html,
|
|
|
|
|
merge_dicts,
|
|
|
|
|
str_or_none,
|
|
|
|
|
traverse_obj,
|
|
|
|
|
unified_timestamp,
|
|
|
|
|
url_or_none,
|
|
|
|
@ -138,13 +137,15 @@ class LRTRadioIE(LRTBaseIE):
|
|
|
|
|
'https://www.lrt.lt/radioteka/api/media', video_id,
|
|
|
|
|
query={'url': f'/mediateka/irasas/{video_id}/{path}'})
|
|
|
|
|
|
|
|
|
|
return traverse_obj(media, {
|
|
|
|
|
'id': ('id', {int}, {str_or_none}),
|
|
|
|
|
'title': ('title', {str}),
|
|
|
|
|
'tags': ('tags', ..., 'name', {str}),
|
|
|
|
|
'categories': ('playlist_item', 'category', {str}, filter, all, filter),
|
|
|
|
|
'description': ('content', {clean_html}, {str}),
|
|
|
|
|
'timestamp': ('date', {lambda x: x.replace('.', '/')}, {unified_timestamp}),
|
|
|
|
|
'thumbnail': ('playlist_item', 'image', {urljoin('https://www.lrt.lt')}),
|
|
|
|
|
'formats': ('playlist_item', 'file', {lambda x: self._extract_m3u8_formats(x, video_id)}),
|
|
|
|
|
})
|
|
|
|
|
return {
|
|
|
|
|
'id': video_id,
|
|
|
|
|
'formats': self._extract_m3u8_formats(media['playlist_item']['file'], video_id),
|
|
|
|
|
**traverse_obj(media, {
|
|
|
|
|
'title': ('title', {str}),
|
|
|
|
|
'tags': ('tags', ..., 'name', {str}),
|
|
|
|
|
'categories': ('playlist_item', 'category', {str}, filter, all, filter),
|
|
|
|
|
'description': ('content', {clean_html}, {str}),
|
|
|
|
|
'timestamp': ('date', {lambda x: x.replace('.', '/')}, {unified_timestamp}),
|
|
|
|
|
'thumbnail': ('playlist_item', 'image', {urljoin('https://www.lrt.lt')}),
|
|
|
|
|
}),
|
|
|
|
|
}
|
|
|
|
|