From b56ce130d5793d4041d6d45c31e0af0148926445 Mon Sep 17 00:00:00 2001 From: c-basalt <117849907+c-basalt@users.noreply.github.com> Date: Thu, 17 Jul 2025 06:00:57 -0400 Subject: [PATCH] fix for website change --- yt_dlp/extractor/khanacademy.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/yt_dlp/extractor/khanacademy.py b/yt_dlp/extractor/khanacademy.py index f4be9aad0f..1efa15c4f2 100644 --- a/yt_dlp/extractor/khanacademy.py +++ b/yt_dlp/extractor/khanacademy.py @@ -30,7 +30,7 @@ class KhanAcademyBaseIE(InfoExtractor): # runtime.js contains hash version for each js file, which is needed for building js src url runtime_js = self._download_webpage(self._RUNTIME_JS_URL, None, 'Downloading runtime.js') version_hashes = self._search_json( - r'return\s*""\+e\+"\."\+\(', runtime_js, 'js resources', None, end_pattern=r'\)\[e\]\+"\.js"', + r'""\+e\+"\."\+\(', runtime_js, 'js resources', None, end_pattern=r'\)\[e\]\+"\.js"', transform_source=lambda s: re.sub(r'([\da-f]+):', r'"\1":', s)) # cannot use js_to_json, due to #13621 # iterate all lazy-loaded js to find query-containing js file @@ -160,7 +160,6 @@ class KhanAcademyIE(KhanAcademyBaseIE): _VALID_URL = KhanAcademyBaseIE._VALID_URL_TEMPL % ('4', 'v/') _TESTS = [{ 'url': 'https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/one-time-pad', - 'md5': '2bd84e22fa3feea2e2a21352185a96bd', 'info_dict': { 'id': 'FlIG3TvQCBQ', 'ext': 'mp4', @@ -259,7 +258,7 @@ class KhanAcademyUnitIE(KhanAcademyBaseIE): 'info_dict': { 'id': 'x301707a0', 'title': 'Computer science theory', - 'description': 'md5:4b472a4646e6cf6ec4ccb52c4062f8ba', + 'description': 'md5:20a0c2d331e5d0e609872629079e6ec8', 'display_id': 'computing/computer-science', '_old_archive_ids': ['khanacademyunit computer-science'], },