From 14340b4b6b5171ad43c9e26e0321ab96f4a2e1b9 Mon Sep 17 00:00:00 2001 From: Subrat Lima Date: Wed, 2 Apr 2025 13:51:19 +0530 Subject: [PATCH] [ie/lrt] add fixes suggested by bashonly --- yt_dlp/extractor/lrt.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/yt_dlp/extractor/lrt.py b/yt_dlp/extractor/lrt.py index 6f13f20a40..a3cbeaa0e9 100644 --- a/yt_dlp/extractor/lrt.py +++ b/yt_dlp/extractor/lrt.py @@ -1,4 +1,3 @@ - from .common import InfoExtractor from ..utils import ( clean_html, @@ -7,6 +6,7 @@ from ..utils import ( traverse_obj, unified_timestamp, url_or_none, + urljoin, ) @@ -83,7 +83,7 @@ class LRTVODIE(LRTBaseIE): }] def _real_extract(self, url): - path, video_id = self._match_valid_url(url).groups() + path, video_id = self._match_valid_url(url).group('path', 'id') webpage = self._download_webpage(url, video_id) media_url = self._extract_js_var(webpage, 'main_url', path) @@ -123,9 +123,9 @@ class LRTRadioIE(LRTBaseIE): 'description': 'md5:5eee9a0e86a55bf547bd67596204625d', 'timestamp': 1726143120, 'upload_date': '20240912', - 'tags': list, + 'tags': 'count:5', 'thumbnail': r're:https?://.+/.+\.jpe?g', - 'categories': list, + 'categories': ['Daiktiniai įrodymai'], }, }, { 'url': 'https://www.lrt.lt/radioteka/irasas/2000304654/vakaras-su-knyga-svetlana-aleksijevic-cernobylio-malda-v-dalis?season=%2Fmediateka%2Faudio%2Fvakaras-su-knyga%2F2023', @@ -133,19 +133,18 @@ class LRTRadioIE(LRTBaseIE): }] def _real_extract(self, url): - video_id, path = self._match_valid_url(url).groups() + video_id, path = self._match_valid_url(url).group('id', 'path') - base_url = 'https://www.lrt.lt' - api_url = 'https://www.lrt.lt/radioteka/api/media' - media_url = f'/mediateka/irasas/{video_id}/{path}' - media = self._download_json(api_url, video_id, query={'url': media_url}) + media = self._download_json( + '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'), - 'categories': ('playlist_item', 'category', {lambda x: [x]}), + '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', {lambda x: f'{base_url}{x}'}, {url_or_none}), + 'thumbnail': ('playlist_item', 'image', {urljoin('https://www.lrt.lt')}), 'formats': ('playlist_item', 'file', {lambda x: self._extract_m3u8_formats(x, video_id)}), })