mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-09-06 17:02:04 +00:00
[ie/youtube] Fix outdated quickjs-ng warning (#16437)
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.11) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.12) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.13) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.14) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, pypy-3.11) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.10) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.11) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.12) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.13) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.14) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, pypy-3.11) (push) Has been cancelled
Quick Test / Core Test (push) Has been cancelled
Quick Test / Code check (push) Has been cancelled
Release (master) / Publish Github release (push) Has been cancelled
Release (master) / Publish to PyPI (push) Has been cancelled
Release (nightly) / Check for new commits (push) Has been cancelled
Release (nightly) / Publish Github release (push) Has been cancelled
Release (nightly) / Publish to PyPI (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.10) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.12) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.13) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.14) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, pypy-3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.10) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.12) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.13) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.14) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, pypy-3.11) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.11) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.12) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.13) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, 3.14) (push) Has been cancelled
Core Tests / Core Tests (ubuntu-latest, pypy-3.11) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.10) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.11) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.12) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.13) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, 3.14) (push) Has been cancelled
Core Tests / Core Tests (windows-latest, pypy-3.11) (push) Has been cancelled
Quick Test / Core Test (push) Has been cancelled
Quick Test / Code check (push) Has been cancelled
Release (master) / Publish Github release (push) Has been cancelled
Release (master) / Publish to PyPI (push) Has been cancelled
Release (nightly) / Check for new commits (push) Has been cancelled
Release (nightly) / Publish Github release (push) Has been cancelled
Release (nightly) / Publish to PyPI (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.10) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.12) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.13) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, 3.14) (push) Has been cancelled
Challenge Tests / Challenge Tests (ubuntu-latest, pypy-3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.10) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.11) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.12) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.13) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, 3.14) (push) Has been cancelled
Challenge Tests / Challenge Tests (windows-latest, pypy-3.11) (push) Has been cancelled
Ref: https://github.com/quickjs-ng/quickjs/pull/1324 Closes #16403 Authored by: bashonly
This commit is contained in:
@@ -21,12 +21,20 @@ from yt_dlp.utils import Popen
|
||||
class QuickJSJCP(EJSBaseJCP, BuiltinIEContentProvider):
|
||||
PROVIDER_NAME = 'quickjs'
|
||||
JS_RUNTIME_NAME = 'quickjs'
|
||||
_QJS_MIN_RECOMMENDED = {
|
||||
'quickjs': (2025, 4, 26),
|
||||
'quickjs-ng': (0, 12, 0),
|
||||
}
|
||||
_QJS_WARNING_TMPL = (
|
||||
'{name} versions older than {version} are missing important optimizations '
|
||||
'and will solve the JS challenges very slowly. Consider upgrading.')
|
||||
|
||||
def _run_js_runtime(self, stdin: str, /) -> str:
|
||||
if self.runtime_info.name == 'quickjs-ng':
|
||||
self.logger.warning('QuickJS-NG is missing some optimizations making this very slow. Consider using upstream QuickJS instead.')
|
||||
elif self.runtime_info.version_tuple < (2025, 4, 26):
|
||||
self.logger.warning('Older QuickJS versions are missing optimizations making this very slow. Consider upgrading.')
|
||||
min_recommended_version = self._QJS_MIN_RECOMMENDED[self.runtime_info.name]
|
||||
if self.runtime_info.version_tuple < min_recommended_version:
|
||||
self.logger.warning(self._QJS_WARNING_TMPL.format(
|
||||
name=self.runtime_info.name,
|
||||
version='.'.join(map(str, min_recommended_version))))
|
||||
|
||||
# QuickJS does not support reading from stdin, so we have to use a temp file
|
||||
temp_file = tempfile.NamedTemporaryFile(mode='w', suffix='.js', delete=False, encoding='utf-8')
|
||||
|
||||
Reference in New Issue
Block a user