diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 3ae318c18..b816d788f 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -69,7 +69,6 @@ int_or_none, join_nonempty, js_to_json, - jwt_decode_hs256, mimetype2ext, netrc_from_content, orderedSet, @@ -995,10 +994,6 @@ def _guess_encoding_from_content(content_type, webpage_bytes): return encoding - @staticmethod - def _is_jwt_token_expired(token): - return jwt_decode_hs256(token)['exp'] - time.time() < 300 - def __check_blocked(self, content): first_block = content[:512] if ('Access to this site is blocked' in content diff --git a/yt_dlp/extractor/vrt.py b/yt_dlp/extractor/vrt.py index 963bd460e..ba2301ae5 100644 --- a/yt_dlp/extractor/vrt.py +++ b/yt_dlp/extractor/vrt.py @@ -12,6 +12,7 @@ get_element_by_class, get_element_html_by_class, int_or_none, + jwt_decode_hs256, jwt_encode_hs256, make_archive_id, merge_dicts, @@ -308,6 +309,10 @@ def _get_video_token_from_cookie(self): def _get_refresh_token_from_cookie(self): return try_call(lambda: self._get_cookies('https://www.vrt.be/vrtmax/sso')['vrtnu-site_profile_rt'].value) + @staticmethod + def _is_jwt_token_expired(token): + return jwt_decode_hs256(token)['exp'] - time.time() < 300 + def _perform_login(self, username, password): if self._fetch_refresh_token(): self.write_debug('Refresh token already present, skipping login')