Commit Graph

19003 Commits (8a0c14ef493f71e9526026dba7df2f4a4222c615)
 

Author SHA1 Message Date
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