Yuan-Yi Chang
cf738860b7
[ie/youtube] Allow fallback parsing for global nsig helpers
...
This makes _extract_js_function a true “last-resort” parser while the normal path keeps depending on JSInterpreter.extract_function_code.
- _fixup_n_function_code now tries to extract helper signatures with JSInterpreter(jscode).extract_function_code(...) first; only when that raises JSInterpreter.Exception do we fall back to the legacy _extract_js_function(...) string parser. Successful inlines keep the existing debug and caching behaviour (yt_dlp/extractor/youtube/_video.py:2416-2440).
- _extract_js_function is reduced to a pure fallback: it parses var|let|const foo = function(...) {...} with a regex and no longer re-enters JSInterpreter, avoiding duplicated work (yt_dlp/extractor/youtube/_video.py around line 2449).
Global Helper Inline Loop
We also rely on the while True retry loop inside _fixup_n_function_code to progressively inline missing dependencies:
1. Execute the candidate nsig implementation via JSInterpreter. If nothing is missing, the loop exits immediately.
2. When execution raises errors such as “Could not find object CI”, we capture the helper name from the message, extract that helper (CI, OB5, nq5, …), and prepend var helper = function(...) { ... }; to fixed_code.
3. With the helper injected we retry the interpreter; if another dependency is missing we repeat this process until no more Could not find … errors occur (or an unhandled exception surfaces).
4. After the loop, any residual names collected in jsi._undefined_varnames are handled by the follow-up for func_name in global_funcnames: pass, which inlines whatever helpers the interpreter still flagged.
Together these steps guarantee that all global functions referenced by the nsig routine are made available before execution, giving the interpreter a stable environment even when YouTube reshuffles helper definitions.
2 days ago
github-actions[bot]
4429fd0450
Release 2025.09.23
...
Created by: bashonly
:ci skip all
3 days ago
bashonly
2e81e298cd
[cleanup] Misc ( #14268 )
...
Closes #13427
Authored by: bashonly, seproDev, doe1080
Co-authored-by: sepro <sepro@sepr0.com>
Co-authored-by: doe1080 <98906116+doe1080@users.noreply.github.com>
3 days ago
sepro
7f5d9f8543
[ie/youtube] Force player `0004de42` ( #14398 )
...
Closes #14400
Authored by: seproDev
3 days ago
sepro
f8750504c2
[ie/twitch:clips] Fix extractor ( #14397 )
...
Closes #14396
Authored by: seproDev
4 days ago
sepro
8821682f15
[docs] Establish AI/LLM contribution policy ( #14194 )
...
Authored by: seproDev, bashonly
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
5 days ago
sepro
08d7899683
[cleanup] Deprecate various options ( #13821 )
...
Closes #14198 , Closes #12909
Authored by: seproDev
5 days ago
sepro
98b6b0d339
[utils] `mimetype2ext`: Recognize `vnd.dlna.mpeg-tts` ( #14388 )
...
Closes #14386
Authored by: seproDev
5 days ago
sepro
bf5d18016b
[ie/vk:uservideos] Support alternate URL format ( #14376 )
...
Closes #11793
Authored by: seproDev
7 days ago
sepro
4bc19adc87
[ie/ttinglive] Adapt FlexTV extractor to new domain ( #14375 )
...
Closes #14342
Authored by: seproDev
7 days ago
sepro
b2c01d0498
[ie/applepodcast] Fix extractor ( #14372 )
...
Closes #14368
Authored by: seproDev
7 days ago
bashonly
e123a48f11
[ie/telecinco] Support browser impersonation ( #14351 )
...
Closes #14349
Authored by: bashonly
1 week ago
bashonly
820c6e2445
[ie/mitele] Remove extractor ( #14348 )
...
Closes #13535
Authored by: bashonly
1 week ago
thegymguy
677997d84e
[ie/xhamster] Fix extractor ( #14345 )
...
Fix a1c98226a4
Closes #14145
Authored by: arand, thegymguy
Co-authored-by: arand <183498+arand@users.noreply.github.com>
1 week ago
sepro
b81e9272dc
[ie/vk] Support vksport URLs ( #14341 )
...
Closes #14175
Authored by: seproDev
1 week ago
bashonly
df4b4e8ccf
[build] Use PyInstaller 6.16 for Windows ( #14318 )
...
Authored by: bashonly
2 weeks ago
sepro
f3829463c7
[utils] `random_user_agent`: Bump versions ( #14317 )
...
Authored by: seproDev
2 weeks ago
bashonly
ae3923b6b2
[ci] Improve workflow checks ( #14316 )
...
Authored by: bashonly
2 weeks ago
bashonly
8ab262c66b
[cleanup] Remove references to setup.cfg ( #14315 )
...
Fix eb4b3a5fc7
Authored by: bashonly
2 weeks ago
bashonly
e2d37bcc8e
[build] Refactor Linux build jobs ( #14275 )
...
Authored by: bashonly
2 weeks ago
sepro
eb4b3a5fc7
[cleanup] Remove setup.cfg ( #14314 )
...
Authored by: seproDev
2 weeks ago
bashonly
65e90aea29
[cleanup] Remove broken extractors ( #14305 )
...
Closes #1466 , Closes #2005 , Closes #4897 , Closes #5118 , Closes #8489 , Closes #13072
Authored by: bashonly
2 weeks ago
doe1080
17bfaa53ed
[ie/onsen] Add extractor ( #10971 )
...
Closes #10902
Authored by: doe1080
2 weeks ago
doe1080
8cb037c0b0
[ie/smotrim] Rework extractors ( #14200 )
...
Closes #9372 , Closes #11804 , Closes #13900
Authored by: doe1080, swayll
Co-authored-by: Nikolay Fedorov <40500428+swayll@users.noreply.github.com>
2 weeks ago
doe1080
7d9e48b22a
[ie/tunein] Fix extractors ( #13981 )
...
Authored by: doe1080
2 weeks ago
sepro
f5cb721185
[ie/loco] Fix extractor ( #14256 )
...
Closes #14255
Authored by: seproDev
2 weeks ago
bashonly
83b8409366
[ci] Test with Python 3.14 ( #13468 )
...
Authored by: bashonly
2 weeks ago
bashonly
ba80446855
[cleanup] Bump ruff to 0.13.x ( #14293 )
...
Authored by: bashonly
2 weeks ago
bashonly
22ea0688ed
[ci] Bump actions/setup-python to v6 ( #14282 )
...
Authored by: bashonly
2 weeks ago
bashonly
5c1abcdc49
[ie/tiktok:live] Fix room ID extraction ( #14287 )
...
Closes #9418
Authored by: bashonly
2 weeks ago
doe1080
3d9a88bd8e
[ie/pixivsketch] Remove extractors ( #14196 )
...
Authored by: doe1080
2 weeks ago
doe1080
9def9a4b0e
[ie/newspicks] Warn when only preview is available ( #14197 )
...
Closes #14137
Authored by: doe1080
2 weeks ago
bashonly
679587dac7
[ie/vimeo] Fix login error handling ( #14280 )
...
Closes #14279
Authored by: bashonly
2 weeks ago
Will Smillie
a1c98226a4
[ie/xhamster] Fix extractor ( #14286 )
...
Closes #14145
Authored by: nicolaasjan, willsmillie
Co-authored-by: nicolaasjan <14093220+nicolaasjan@users.noreply.github.com>
2 weeks ago
bashonly
c8ede5f34d
[build] Use new PyInstaller builds for Windows ( #14273 )
...
Authored by: bashonly
3 weeks ago
bashonly
a183837ec8
[test:utils] Fix `sanitize_path` test for Windows CPython 3.11 ( #13878 )
...
Authored by: Grub4K
Co-authored-by: Simon Sawicki <contact@grub4k.dev>
3 weeks ago
Sipherdrakon
067062bb87
[ie/10play] Fix extractor ( #14242 )
...
Closes #14212
Authored by: Sipherdrakon
3 weeks ago
bashonly
8597a4331e
[build] Fix cache warmer ( #14261 )
...
Fix 50136eeeb3
Authored by: bashonly
3 weeks ago
sepro
48a214bef4
[build] Use SPDX license identifier ( #14260 )
...
Authored by: cdce8p
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
3 weeks ago
Mozi
6a763a55d8
[compat] Add `compat_datetime_from_timestamp` ( #11902 )
...
Authored by: pzhlkj6612, seproDev
Co-authored-by: sepro <sepro@sepr0.com>
3 weeks ago
sepro
e6e6b51214
[docs] Clarify license of PyInstaller-bundled executables ( #14257 )
...
Closes #348
Authored by: seproDev
3 weeks ago
bashonly
7c9b10ebc8
[ci] Test and lint workflows ( #14249 )
...
Authored by: bashonly
3 weeks ago
bashonly
cd94e70040
[build] Post-release workflow cleanup ( #14250 )
...
Authored by: bashonly
3 weeks ago
github-actions[bot]
7c27965ff6
Release 2025.09.05
...
Created by: bashonly
:ci skip all
3 weeks ago
bashonly
50136eeeb3
[build] Overhaul Linux builds and refactor release workflow ( #13997 )
...
- Use `manylinux-shared` images for Linux builds
- Discontinue `yt-dlp_linux_armv7l`/`linux_armv7l_exe` release binary
- Add `yt-dlp_linux_armv7l.zip`/`linux_armv7l_dir` release binary
- Add `yt-dlp_musllinux` and `yt-dlp_musllinux_aarch64` release binaries
- Migrate `linux_exe` build strategy from staticx+musl to manylinux2014/glibc2.17
- Rewrite release.yml's "unholy bash monstrosity" as devscripts/setup_variables.py
Closes #10072 , Closes #10630 , Closes #10578 , Closes #13976 , Closes #13977 , Closes #14106
Authored by: bashonly
3 weeks ago
Chase Ryan
603acdff07
[ie/charlierose] Fix extractor ( #14231 )
...
Authored by: gitchasing
3 weeks ago
sepro
d925e92b71
[ie/vevo] Restore extractors ( #14203 )
...
Partially reverts 6f4c1bb593
Authored by: seproDev
4 weeks ago
sepro
ed24640943
[ie/lrt] Fix extractors ( #14193 )
...
Closes #13501
Authored by: seproDev
4 weeks ago
sepro
76bb46002c
Fix `--id` deprecation warning ( #14190 )
...
Authored by: seproDev
4 weeks ago
InvalidUsernameException
1e28f6bf74
[ie/kick:vod] Support ongoing livestream VODs ( #14154 )
...
Authored by: InvalidUsernameException
4 weeks ago