aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp
diff options
context:
space:
mode:
author1-Byte <1-Byte@users.noreply.github.com>2024-09-17 21:17:05 +0200
committerGitHub <noreply@github.com>2024-09-17 21:17:05 +0200
commit4a9bc8c3630378bc29f0266126b503f6190c0430 (patch)
tree6db3f39bbf187f6cebf962f13a6233317a928826 /yt_dlp
parenta06bb586795ebab87a2356923acfc674d6f0e152 (diff)
[ie/NZZ] Fix extractor (#10461)HEADmaster
Closes #5653 Authored by: 1-Byte
Diffstat (limited to 'yt_dlp')
-rw-r--r--yt_dlp/extractor/nzz.py22
1 files changed, 7 insertions, 15 deletions
diff --git a/yt_dlp/extractor/nzz.py b/yt_dlp/extractor/nzz.py
index ac3b73156..047c4e1ac 100644
--- a/yt_dlp/extractor/nzz.py
+++ b/yt_dlp/extractor/nzz.py
@@ -1,9 +1,6 @@
1import re 1import re
2 2
3from .common import InfoExtractor 3from .common import InfoExtractor
4from ..utils import (
5 extract_attributes,
6)
7 4
8 5
9class NZZIE(InfoExtractor): 6class NZZIE(InfoExtractor):
@@ -22,19 +19,14 @@ class NZZIE(InfoExtractor):
22 'playlist_count': 1, 19 'playlist_count': 1,
23 }] 20 }]
24 21
22 def _entries(self, webpage, page_id):
23 for script in re.findall(r'(?s)<script[^>]* data-hid="jw-video-jw[^>]+>(.+?)</script>', webpage):
24 settings = self._search_json(r'var\s+settings\s*=[^{]*', script, 'settings', page_id, fatal=False)
25 if entry := self._parse_jwplayer_data(settings, page_id):
26 yield entry
27
25 def _real_extract(self, url): 28 def _real_extract(self, url):
26 page_id = self._match_id(url) 29 page_id = self._match_id(url)
27 webpage = self._download_webpage(url, page_id) 30 webpage = self._download_webpage(url, page_id)
28 31
29 entries = [] 32 return self.playlist_result(self._entries(webpage, page_id), page_id)
30 for player_element in re.findall(
31 r'(<[^>]+class="kalturaPlayer[^"]*"[^>]*>)', webpage):
32 player_params = extract_attributes(player_element)
33 if player_params.get('data-type') not in ('kaltura_singleArticle',):
34 self.report_warning('Unsupported player type')
35 continue
36 entry_id = player_params['data-id']
37 entries.append(self.url_result(
38 'kaltura:1750922:' + entry_id, 'Kaltura', entry_id))
39
40 return self.playlist_result(entries, page_id)