From 6ad8f4990a0b24657ab259df76d215a4c61c2a3b Mon Sep 17 00:00:00 2001 From: Lauren Liberda Date: Mon, 26 Apr 2021 14:40:15 +0200 Subject: [PATCH] [tvn] better extraction method choosing --- haruhi_dl/extractor/tvn24.py | 87 ++++++++++++++++++++++-------------- 1 file changed, 53 insertions(+), 34 deletions(-) diff --git a/haruhi_dl/extractor/tvn24.py b/haruhi_dl/extractor/tvn24.py index 848b6505c..17e8b8cdc 100644 --- a/haruhi_dl/extractor/tvn24.py +++ b/haruhi_dl/extractor/tvn24.py @@ -57,7 +57,7 @@ class TVNBaseIE(InfoExtractor): class TVN24IE(TVNBaseIE): - _VALID_URL = r'https?://(?:www\.)?(?P(?:(?:[^/]+)\.)?tvn24\.pl)/(?:[^/]+/)*[^/?#\s]+[,-](?P\d+)(?:\.html)?' + _VALID_URL = r'https?://(?:www\.)?(?P(?:(?:[^/]+)\.)?tvn(?:24)?\.pl)/(?:[^/]+/)*[^/?#\s]+[,-](?P\d+)(?:\.html)?' _TESTS = [{ 'url': 'https://tvn24.pl/polska/edyta-gorniak-napisala-o-statystach-w-szpitalach-udajacych-chorych-na-covid-19-jerzy-polaczek-i-marek-posobkiewicz-odpowiadaja-zapraszamy-4747899', 'info_dict': { @@ -67,7 +67,7 @@ class TVN24IE(TVNBaseIE): 'playlist_count': 5, }, { # different layout - 'url': 'https://tvnmeteo.tvn24.pl/magazyny/maja-w-ogrodzie,13/odcinki-online,1,4,1,0/pnacza-ptaki-i-iglaki-odc-691-hgtv-odc-29,1771763.html', + 'url': 'https://tvn24.pl/tvnmeteo/magazyny/nowa-maja-w-ogrodzie,13/odcinki-online,1,4,1,0/pnacza-ptaki-i-iglaki-odc-691-hgtv-odc-29,1771763.html', 'info_dict': { 'id': '1771763', 'ext': 'mp4', @@ -93,6 +93,15 @@ class TVN24IE(TVNBaseIE): 'title': '11.02.2021 | Misja telewizji publicznej i reakcja na protest "Media bez wyboru"', 'description': 'md5:684d2e09f57c7ed03a277bc5ce295d63', }, + }, { + # no data-qualities, just data-src + 'url': 'https://uwaga.tvn.pl/reportaze,2671,n/po-wyroku-trybunalu-kobiety-nie-moga-poddac-sie-aborcji,337993.html', + 'info_dict': { + 'id': '337993', + 'ext': 'mp4', + 'title': 'Wady letalne, czyli śmiertelne. "Boję się następnej ciąży"', + 'description': 'md5:4f5efe579b7f801d5a8d7a75c0809260', + }, }, { 'url': 'http://fakty.tvn24.pl/ogladaj-online,60/53-konferencja-bezpieczenstwa-w-monachium,716431.html', 'only_matching': True, @@ -108,18 +117,18 @@ class TVN24IE(TVNBaseIE): mobj = re.match(self._VALID_URL, url) domain, display_id = mobj.group('domain', 'id') - if '/magazyn-tvn24/' in url: - return self._handle_magazine_frontend(url, display_id) - elif domain in ('tvn24.pl', ): - return self._handle_nextjs_frontend(url, display_id) - elif domain in ('fakty.tvn24.pl', ): - return self._handle_fakty_frontend(url, display_id) - else: - return self._handle_old_frontend(url, display_id) - - def _handle_old_frontend(self, url, display_id): webpage = self._download_webpage(url, display_id) + if domain == 'tvn24.pl': + if '