1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-07-01 10:58:34 +00:00
This commit is contained in:
c-basalt 2024-08-11 16:35:33 -04:00
parent 567fb56a1c
commit b58d59ec78
5 changed files with 13 additions and 13 deletions

View File

@ -9,7 +9,7 @@
import math
from yt_dlp.jsinterp.jsinterp import JS_Undefined, JSInterpreter
from yt_dlp.jsinterp.native import JS_Undefined, JSInterpreter
class NaN:

View File

@ -15,7 +15,7 @@
from test.helper import FakeYDL, is_download_test
from yt_dlp.extractor import YoutubeIE
from yt_dlp.jsinterp import JSInterpreter
from yt_dlp.jsinterp import NativeJSI
_SIG_TESTS = [
(
@ -243,7 +243,7 @@ def signature(jscode, sig_input):
def n_sig(jscode, sig_input):
funcname = YoutubeIE(FakeYDL())._extract_n_function_name(jscode)
return JSInterpreter(jscode).call_function(funcname, sig_input)
return NativeJSI(jscode).call_function(funcname, sig_input)
make_sig_test = t_factory(

View File

@ -21,7 +21,7 @@
from .common import InfoExtractor, SearchInfoExtractor
from ..jsinterp import PhantomJSwrapper
from ..jsinterp import JSInterpreter
from ..jsinterp import NativeJSI
from ..networking.exceptions import HTTPError, network_exceptions
from ..utils import (
NO_DEFAULT,
@ -3067,7 +3067,7 @@ def _parse_sig_js(self, jscode):
r'\bc\s*&&\s*[a-zA-Z0-9]+\.set\([^,]+\s*,\s*\([^)]*\)\s*\(\s*(?P<sig>[a-zA-Z0-9$]+)\('),
jscode, 'Initial JS player signature function name', group='sig')
jsi = JSInterpreter(jscode)
jsi = NativeJSI(jscode)
initial_function = jsi.extract_function(funcname)
return lambda s: initial_function([s])
@ -3111,7 +3111,7 @@ def _decrypt_nsig(self, s, video_id, player_url):
try:
extract_nsig = self._cached(self._extract_n_function_from_code, 'nsig func', player_url)
ret = extract_nsig(jsi, func_code)(s)
except JSInterpreter.Exception as e:
except NativeJSI.Exception as e:
try:
jsi = PhantomJSwrapper(self, timeout=5000)
except ExtractorError:
@ -3145,7 +3145,7 @@ def _extract_n_function_code(self, video_id, player_url):
player_id = self._extract_player_info(player_url)
func_code = self.cache.load('youtube-nsig', player_id, min_ver='2024.07.09')
jscode = func_code or self._load_player(video_id, player_url)
jsi = JSInterpreter(jscode)
jsi = NativeJSI(jscode)
if func_code:
return jsi, player_id, func_code
@ -3163,13 +3163,13 @@ def _extract_n_function_from_code(self, jsi, func_code):
def extract_nsig(s):
try:
ret = func([s])
except JSInterpreter.Exception:
except NativeJSI.Exception:
raise
except Exception as e:
raise JSInterpreter.Exception(traceback.format_exc(), cause=e)
raise NativeJSI.Exception(traceback.format_exc(), cause=e)
if ret.startswith('enhanced_except_'):
raise JSInterpreter.Exception('Signature function returned an exception')
raise NativeJSI.Exception('Signature function returned an exception')
return ret
return extract_nsig
@ -3902,7 +3902,7 @@ def build_fragments(f):
})
except ExtractorError as e:
phantomjs_hint = ''
if isinstance(e, JSInterpreter.Exception):
if isinstance(e, NativeJSI.Exception):
phantomjs_hint = (f' Install {self._downloader._format_err("PhantomJS", self._downloader.Styles.EMPHASIS)} '
f'to workaround the issue. {PhantomJSwrapper.INSTALL_HINT}\n')
if player_url:

View File

@ -1,9 +1,9 @@
from .jsinterp import JSInterpreter
from .native import JSInterpreter as NativeJSI
from .external import PhantomJSwrapper, DenoWrapper, PuppeteerWrapper
__all__ = [
JSInterpreter,
NativeJSI,
PhantomJSwrapper,
DenoWrapper,
PuppeteerWrapper,