diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-05 09:06:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-05 09:06:10 +0000 |
commit | 137f07c27a88b07df57df5b2cdebebe3c7722bac (patch) | |
tree | 4ebdcbea6b540f69c40ba0be6ac766008030d149 /yt_dlp/extractor/rtve.py | |
parent | Adding debian version 2024.05.27-1. (diff) | |
download | yt-dlp-137f07c27a88b07df57df5b2cdebebe3c7722bac.tar.xz yt-dlp-137f07c27a88b07df57df5b2cdebebe3c7722bac.zip |
Merging upstream version 2024.07.01.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'yt_dlp/extractor/rtve.py')
-rw-r--r-- | yt_dlp/extractor/rtve.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/yt_dlp/extractor/rtve.py b/yt_dlp/extractor/rtve.py index a99a266..7e0b666 100644 --- a/yt_dlp/extractor/rtve.py +++ b/yt_dlp/extractor/rtve.py @@ -3,7 +3,6 @@ import io import struct from .common import InfoExtractor -from ..compat import compat_b64decode from ..utils import ( ExtractorError, determine_ext, @@ -62,14 +61,14 @@ class RTVEALaCartaIE(InfoExtractor): }] def _real_initialize(self): - user_agent_b64 = base64.b64encode(self.get_param('http_headers')['User-Agent'].encode('utf-8')).decode('utf-8') + user_agent_b64 = base64.b64encode(self.get_param('http_headers')['User-Agent'].encode()).decode('utf-8') self._manager = self._download_json( 'http://www.rtve.es/odin/loki/' + user_agent_b64, None, 'Fetching manager info')['manager'] @staticmethod def _decrypt_url(png): - encrypted_data = io.BytesIO(compat_b64decode(png)[8:]) + encrypted_data = io.BytesIO(base64.b64decode(png)[8:]) while True: length = struct.unpack('!I', encrypted_data.read(4))[0] chunk_type = encrypted_data.read(4) @@ -111,7 +110,7 @@ class RTVEALaCartaIE(InfoExtractor): def _extract_png_formats(self, video_id): png = self._download_webpage( - 'http://www.rtve.es/ztnr/movil/thumbnail/%s/videos/%s.png' % (self._manager, video_id), + f'http://www.rtve.es/ztnr/movil/thumbnail/{self._manager}/videos/{video_id}.png', video_id, 'Downloading url information', query={'q': 'v2'}) q = qualities(['Media', 'Alta', 'HQ', 'HD_READY', 'HD_FULL']) formats = [] @@ -135,7 +134,7 @@ class RTVEALaCartaIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) info = self._download_json( - 'http://www.rtve.es/api/videos/%s/config/alacarta_videos.json' % video_id, + f'http://www.rtve.es/api/videos/{video_id}/config/alacarta_videos.json', video_id)['page']['items'][0] if info['state'] == 'DESPU': raise ExtractorError('The video is no longer available', expected=True) @@ -194,7 +193,7 @@ class RTVEAudioIE(RTVEALaCartaIE): # XXX: Do not subclass from concrete IE 'title': 'Ignatius Farray', 'thumbnail': r're:https?://.+/1613243011863.jpg', 'duration': 3559.559, - 'series': 'En Radio 3' + 'series': 'En Radio 3', }, }, { 'url': 'https://www.rtve.es/play/audios/frankenstein-o-el-moderno-prometeo/capitulo-26-ultimo-muerte-victor-juan-jose-plans-mary-shelley/6082623/', @@ -205,7 +204,7 @@ class RTVEAudioIE(RTVEALaCartaIE): # XXX: Do not subclass from concrete IE 'title': 'CapĂtulo 26 y Ășltimo: La muerte de Victor', 'thumbnail': r're:https?://.+/1632147445707.jpg', 'duration': 3174.086, - 'series': 'Frankenstein o el moderno Prometeo' + 'series': 'Frankenstein o el moderno Prometeo', }, }] @@ -217,8 +216,7 @@ class RTVEAudioIE(RTVEALaCartaIE): # XXX: Do not subclass from concrete IE media url """ png = self._download_webpage( - 'http://www.rtve.es/ztnr/movil/thumbnail/%s/audios/%s.png' % - (self._manager, audio_id), + f'http://www.rtve.es/ztnr/movil/thumbnail/{self._manager}/audios/{audio_id}.png', audio_id, 'Downloading url information', query={'q': 'v2'}) q = qualities(['Media', 'Alta', 'HQ', 'HD_READY', 'HD_FULL']) formats = [] @@ -242,7 +240,7 @@ class RTVEAudioIE(RTVEALaCartaIE): # XXX: Do not subclass from concrete IE def _real_extract(self, url): audio_id = self._match_id(url) info = self._download_json( - 'https://www.rtve.es/api/audios/%s.json' % audio_id, + f'https://www.rtve.es/api/audios/{audio_id}.json', audio_id)['page']['items'][0] return { @@ -288,7 +286,7 @@ class RTVELiveIE(RTVEALaCartaIE): # XXX: Do not subclass from concrete IE }, 'params': { 'skip_download': 'live stream', - } + }, }] def _real_extract(self, url): |