dirkf
cedeeed56f
[cache] Align further with yt-dlp
...
* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging
4 months ago
dirkf
add4622870
[compat] Add compat_os_makedirs
...
* support exists_ok parameter in Py < 3.2
4 months ago
dirkf
9a6ddece4d
[core] Refactor message routines to align better with yt-dlp
...
* in particular, support `only_once` in the same methods
4 months ago
dirkf
3eb8d22ddb
[JSInterp] Temporary fix for #33102
4 months ago
dirkf
4e714f9df1
[Misc] Correct [_]IE_DESC/NAME in a few IEs
...
* thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c
* also add documenting comment in `InfoExtractor`
4 months ago
dirkf
c1ea7f5a24
[ITV] Mark ITVX not working
...
* update old shim
* correct [_]IE_DESC
4 months ago
dirkf
2b4fbfce25
[YouTube] Support player `4fcd6e4a`
...
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
4 months ago
dirkf
1bc45b8b6c
[JSInterp] Use `,` for join() with null/undefined argument
...
Eg: [1,2,3].join(null) -> '1,2,3'
4 months ago
dirkf
b982d77d0b
[YouTube] Align signature tests with yt-dlp
...
thx bashonly, yt-dlp/yt-dlp#12725
4 months ago
dirkf
c55dbf4838
[YouTube] Update signature extraction for players `643afba4`, `363db69b`
4 months ago
dirkf
087d865230
[YouTube] Support new player URL patterns
4 months ago
dirkf
a4fc1151f1
[JSInterp] Improve indexing
...
* catch invalid list index with `ValueError` (eg [1, 2]['ab'] -> undefined)
* allow assignment outside existing list (eg var l = [1,2]; l[9] = 0;)
4 months ago
dirkf
a464c159e6
[YouTube] Make `_extract_player_info()` use `_search_regex()`
4 months ago
dirkf
7dca08eff0
[YouTube] Also get original of translated automatic captions
4 months ago
dirkf
2239ee7965
[YouTube] Get subtitles/automatic captions from both web and API responses
4 months ago
dirkf
da7223d4aa
[YouTube] Improve support for tce-style player JS
...
* improve extraction of global "useful data" Array from player JS
* also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684 )
Co-Authored-By: sepro <sepro@sepr0.com>
4 months ago
dirkf
37c2440d6a
[YouTube] Update player client data
...
thx seproDev (yt-dlp/yt-dlp#12603 )
Co-authored-by: sepro <sepro@sepr0.com>
4 months ago
dirkf
420d53387c
[JSInterp] Improve tests
...
* from yt-dlp/yt-dlp#12313
* also fix d7c2708
5 months ago
dirkf
32f89de92b
[YouTube] Update TVHTML5 client parameters
...
* resolves #33078
5 months ago
dirkf
283dca56fe
[YouTube] Initially support tce-style player JS
...
* resolves #33079
5 months ago
dirkf
422b1b31cf
[YouTube] Temporarily redirect from tce-style player JS
5 months ago
dirkf
1dc27e1c3b
[JSInterp] Make indexing error handling more conformant
...
* by default TypeError -> undefined, else raise
* set allow_undefined=True/False to override
5 months ago
dirkf
af049e309b
[JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception
5 months ago
dirkf
94849bc997
[JSInterp] Improve Date processing
...
* add JS_Date class implementing JS Date
* support constructor args other than date string
* support static methods of Date
* Date objects are still automatically coerced to timestamp before using in JS.
5 months ago
dirkf
974c7d7f34
[compat] Fix inheriting from compat_collections_chain_map
...
* see ytdl-org/youtube-dl#33079#issuecomment-2704038049
5 months ago
dirkf
8738407d77
[compat] Support zstd Content-Encoding
...
* see RFC 8878 7.2
5 months ago
dirkf
cecaa18b80
[compat] Clean-up
...
* make workaround_optparse_bug9161 private
* add comments
* avoid leaving test objects behind
5 months ago
dirkf
673277e510
[YouTube] Fix 91b1569
5 months ago
dirkf
91b1569f68
[YouTube] Fix channel playlist extraction ( #33074 )
...
* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_...
* resolves #33073
* thx seproDev (yt-dlp/yt-dlp#11615 )
Co-authored-by: sepro <sepro@sepr0.com>
5 months ago
dirkf
711e72c292
[JSInterp] Fix bit-shift coercion for player 9c6dfc4a
6 months ago
dirkf
26b6f15d14
[compat] Make casefold private
...
* if required, not supported:
`from youtube_dl.casefold import _casefold as casefold`
6 months ago
dirkf
5975d7bb96
[YouTube] Use X-Goog-Visitor-Id
...
* required with tv player client
* resolves #33030
6 months ago
dirkf
63fb0fc415
[YouTube] Retain .videoDetails members from all player responses
6 months ago
dirkf
b09442a2f4
[YouTube] Also use ios client when is_live
6 months ago
dirkf
55ad8a24ca
[YouTube] Support `... /feeds/videos.xml?playlist_id={pl_id}`
6 months ago
dirkf
21fff05121
[YouTube] Switch to TV API client
...
* thx yt-dlp/yt-dlp#12059
6 months ago
dirkf
1036478d13
[YouTube] Endure subtitle URLs are complete
...
* WEB URLs are, MWEB not
* resolves #33017
7 months ago
dirkf
00ad2b8ca1
[YouTube] Refactor subtitle processing
...
* move to internal function
* use `traverse-obj()`
7 months ago
dirkf
ab7c61ca29
[YouTube] Apply code style changes, trailing commas, etc
7 months ago
dirkf
176fc2cb00
[YouTube] Avoid early crash if webpage can't be read
...
* see issue #33013
7 months ago
dirkf
d55d1f423d
[YouTube] Always extract using MWEB API client
...
* temporary fix-up for 403 on download
* MWEB parameters from yt-dlp 2024-12-06
7 months ago
dirkf
eeafbbc3e5
[YouTube] Fix signature function extraction for `2f1832d2`
...
* `_` was omitted from patterns
* thx yt-dlp/yt-dlp#11801
Co-authored-by: bashonly
7 months ago
dirkf
cd7c7b5edb
[YouTube] Simplify pattern for nsig function name extraction
7 months ago
dirkf
eed784e15f
[YouTube] Pass nsig value as return hook, fixes player `3bb1f723`
7 months ago
dirkf
b4469a0f65
[YouTube] Handle player `3bb1f723`
...
* fix signature code extraction
* raise if n function returns input value
* add new tests from yt-dlp
Co-authored-by: bashonly
7 months ago
dirkf
ce1e556b8f
[jsinterp] Add return hook for player `3bb1f723`
...
* set var `_ytdl_do_not_return` to a specific value in the scope of a function
* if an expression to be returned has that value, `return` becomes `void`
7 months ago
dirkf
f487b4a02a
[jsinterp] Strip /* comments */ when parsing
...
* NB: _separate() is looking creaky
7 months ago
dirkf
60835ca16c
[jsinterp] Fix and improve "methods"
...
* push, unshift return new length
* impove edge cases for push/pop, shift/unshift, forEach, indexOf, charCodeAt
* increase test coverage
7 months ago
dirkf
94fd774608
[jsinterp] Fix and improve split/join
...
* improve split/join edge cases
* correctly implement regex split (not like re.split)
7 months ago
dirkf
5dee6213ed
[jsinterp] Fix and improve arithmetic operations
...
* addition becomes concat with a string operand
* improve handling of edgier cases
* arithmetic in float like JS (more places need cast to int?)
* increase test coverage
7 months ago