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
Bart Broere
1fe43de848
Merge remote-tracking branch 'ytdl-org/master' into fix-npo-support
6 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
Bart Broere
91e279fec1
Fix name of key
6 months ago
Bart Broere
4aa57d666c
Merge remote-tracking branch 'ytdl-org/master' into fix-npo-support
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
7 months ago
dirkf
b09442a2f4
[YouTube] Also use ios client when is_live
7 months ago
dirkf
55ad8a24ca
[YouTube] Support `... /feeds/videos.xml?playlist_id={pl_id}`
7 months ago
dirkf
21fff05121
[YouTube] Switch to TV API client
...
* thx yt-dlp/yt-dlp#12059
7 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
Bart Broere
224e0a7486
Merge branch 'ytdl-org:master' into fix-npo-support
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
8 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
8 months ago
dirkf
cd7c7b5edb
[YouTube] Simplify pattern for nsig function name extraction
8 months ago
dirkf
eed784e15f
[YouTube] Pass nsig value as return hook, fixes player `3bb1f723`
8 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
8 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`
8 months ago
dirkf
f487b4a02a
[jsinterp] Strip /* comments */ when parsing
...
* NB: _separate() is looking creaky
8 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
8 months ago
dirkf
94fd774608
[jsinterp] Fix and improve split/join
...
* improve split/join edge cases
* correctly implement regex split (not like re.split)
8 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
8 months ago
dirkf
81e64cacf2
[jsinterp] Support multiple indexing (eg a[1][2])
...
* extend single indexing with improved RE (should probably use/have used _separate_at_paren())
* fix some cases that should have given undefined, not throwing
* standardise RE group names
* support length of objects, like {1: 2, 3: 4, length: 42}
8 months ago
dirkf
c1a03b1ac3
[jsinterp] Fix and improve loose and strict equality operations
...
* reimplement loose equality according to MDN (eg, 1 == "1")
* improve strict equality (eg, "abc" === "abc" but 'abc' is not 'abc')
* add tests for above
8 months ago
dirkf
118c6d7a17
[jsinterp] Implement `typeof` operator
8 months ago
dirkf
f28d7178e4
[InfoExtractor] Use kwarg maxsplit for re.split
...
* May become kw-only in future Pythons
8 months ago
Bart Broere
6f271423e8
Update tests
10 months ago
Bart Broere
75266ce4ed
Fix old metadata reference
10 months ago
Bart Broere
817e2e5938
Fix some missing imports
10 months ago
Bart Broere
0e1a0cfa03
Apply some more PR feedback
10 months ago
Bart Broere
7f1c09bea1
Use _sort_formats util
10 months ago
Bart Broere
c3026dd70c
Apply suggestion from PR
10 months ago
Bart Broere
41157b2b49
Move GraphQL query into separate variable
10 months ago
Bart Broere
c748eca829
Automatically obtain NextJS buildId and change item to video-item
10 months ago
Bart Broere
6de650f51f
Use traverse_obj in another place as well
11 months ago