mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[ie/LRTRadio] Add extractor (#12801)
Closes #12745 Authored by: subrat-lima
This commit is contained in:
		| @@ -2,8 +2,11 @@ from .common import InfoExtractor | ||||
| from ..utils import ( | ||||
|     clean_html, | ||||
|     merge_dicts, | ||||
|     str_or_none, | ||||
|     traverse_obj, | ||||
|     unified_timestamp, | ||||
|     url_or_none, | ||||
|     urljoin, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| @@ -80,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) | ||||
| @@ -106,3 +109,42 @@ class LRTVODIE(LRTBaseIE): | ||||
|         } | ||||
| 
 | ||||
|         return merge_dicts(clean_info, jw_data, json_ld_data) | ||||
| 
 | ||||
| 
 | ||||
| class LRTRadioIE(LRTBaseIE): | ||||
|     _VALID_URL = r'https?://(?:www\.)?lrt\.lt/radioteka/irasas/(?P<id>\d+)/(?P<path>[^?#/]+)' | ||||
|     _TESTS = [{ | ||||
|         # m3u8 download | ||||
|         'url': 'https://www.lrt.lt/radioteka/irasas/2000359728/nemarios-eiles-apie-pragarus-ir-skaistyklas-su-aiste-kiltinaviciute', | ||||
|         'info_dict': { | ||||
|             'id': '2000359728', | ||||
|             'ext': 'm4a', | ||||
|             'title': 'Nemarios eilės: apie pragarus ir skaistyklas su Aiste Kiltinavičiūte', | ||||
|             'description': 'md5:5eee9a0e86a55bf547bd67596204625d', | ||||
|             'timestamp': 1726143120, | ||||
|             'upload_date': '20240912', | ||||
|             'tags': 'count:5', | ||||
|             'thumbnail': r're:https?://.+/.+\.jpe?g', | ||||
|             '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', | ||||
|         'only_matching': True, | ||||
|     }] | ||||
| 
 | ||||
|     def _real_extract(self, url): | ||||
|         video_id, path = self._match_valid_url(url).group('id', 'path') | ||||
|         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', {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)}), | ||||
|         }) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Subrat Lima
					Subrat Lima