diff options
author | Jesús <heckyel@hyperbola.info> | 2021-12-07 12:26:51 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2021-12-07 12:26:51 -0500 |
commit | 495746b9a6d4d32ddfa39ed908092d90a7cd5f3f (patch) | |
tree | 4845e40905136556b7513b9f36e3a70e505ee4c9 /yt_dlp/extractor/ceskatelevize.py | |
parent | 25831c5572c6e1d45bc05a122312516e0d264f8d (diff) | |
parent | ddd24c99493483bde822944e8063064f53464ac1 (diff) | |
download | hypervideo-pre-495746b9a6d4d32ddfa39ed908092d90a7cd5f3f.tar.lz hypervideo-pre-495746b9a6d4d32ddfa39ed908092d90a7cd5f3f.tar.xz hypervideo-pre-495746b9a6d4d32ddfa39ed908092d90a7cd5f3f.zip |
updated from upstream | 07/12/2021 at 12:26
Diffstat (limited to 'yt_dlp/extractor/ceskatelevize.py')
-rw-r--r-- | yt_dlp/extractor/ceskatelevize.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/yt_dlp/extractor/ceskatelevize.py b/yt_dlp/extractor/ceskatelevize.py index f766dfbb7..6ca2f38b5 100644 --- a/yt_dlp/extractor/ceskatelevize.py +++ b/yt_dlp/extractor/ceskatelevize.py @@ -12,8 +12,7 @@ from ..utils import ( ExtractorError, float_or_none, sanitized_Request, - unescapeHTML, - update_url_query, + traverse_obj, urlencode_postdata, USER_AGENTS, ) @@ -99,11 +98,13 @@ class CeskaTelevizeIE(InfoExtractor): playlist_description = playlist_description.replace('\xa0', ' ') if parsed_url.path.startswith('/porady/'): - refer_url = update_url_query(unescapeHTML(self._search_regex( - (r'<span[^>]*\bdata-url=(["\'])(?P<url>(?:(?!\1).)+)\1', - r'<iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//(?:www\.)?ceskatelevize\.cz/ivysilani/embed/iFramePlayer\.php.*?)\1'), - webpage, 'iframe player url', group='url')), query={'autoStart': 'true'}) - webpage = self._download_webpage(refer_url, playlist_id) + next_data = self._search_nextjs_data(webpage, playlist_id) + idec = traverse_obj(next_data, ('props', 'pageProps', 'data', ('show', 'mediaMeta'), 'idec'), get_all=False) + if not idec: + raise ExtractorError('Failed to find IDEC id') + iframe_hash = self._download_webpage('https://www.ceskatelevize.cz/v-api/iframe-hash/', playlist_id) + webpage = self._download_webpage('https://www.ceskatelevize.cz/ivysilani/embed/iFramePlayer.php', playlist_id, + query={'hash': iframe_hash, 'origin': 'iVysilani', 'autoStart': 'true', 'IDEC': idec}) NOT_AVAILABLE_STRING = 'This content is not available at your territory due to limited copyright.' if '%s</p>' % NOT_AVAILABLE_STRING in webpage: |