Commit Graph

18928 Commits (master)
 

Author SHA1 Message Date
dirkf c052a16f72 [JSInterp] Add tests and relevant functionality from yt-dlp
* thx seproDev, bashonly: yt-dlp/yt-dlp#12760, yt-dlp/yt-dlp#12761:
  - Improve nested attribute support
  - Pass global stack when extracting objects
  - interpret_statement: Match attribute before indexing
  - Fix assignment to array elements with nested brackets
  - Add new signature tests
  - Invalidate JS function cache
  - Avoid testdata dupes now that we cache by URL

* rework nsig function name search
* fully fixes #33102
* update cache required versions
* update program version
2 days ago
dirkf bd2ded59f2 [JSInterp] Improve unary operators; add `!` 2 days ago
dirkf 16b7e97afa [JSInterp] Add `_separate_at_op()` 2 days ago
dirkf d21717978c [JSInterp] Improve JS classes, etc 2 days ago
dirkf 7513413794 [JSInterp] Reorganise some declarations to align better with yt-dlp 2 days ago
dirkf 67dbfa65f2 [InfoExtractor] Fix merging subtitles to empty target 2 days ago
dirkf 6eb6d6dff5 [InfoExtractor] Use local variants for remaining parent method calls
* ... where defined
2 days ago
dirkf 6c40d9f847 [YouTube] Remove remaining hard-coded API keys
* no longer required for these cases
2 days ago
dirkf 1b08d3281d [YouTube] Fix playlist continuation extraction
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
2 days ago
dirkf 32b8d31780 [YouTube] Support shorts playlist
* only 1..100: yt-dlp/yt-dlp#11130
2 days ago
dirkf 570b868078 [cache] Use `esc_rfc3986` to encode cache key 2 days ago
dirkf 2190e89260 [utils] Support optional `safe` argument for `escape_rfc3986()` 2 days ago
dirkf 7e136639db [compat] Improve Py2 compatibility for URL Quoting 2 days ago
dirkf cedeeed56f [cache] Align further with yt-dlp
* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging
2 days ago
dirkf add4622870 [compat] Add compat_os_makedirs
* support exists_ok parameter in Py < 3.2
2 days ago
dirkf 9a6ddece4d [core] Refactor message routines to align better with yt-dlp
* in particular, support `only_once` in the same methods
2 days ago
dirkf 3eb8d22ddb
[JSInterp] Temporary fix for #33102 1 week 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`
2 weeks ago
dirkf c1ea7f5a24 [ITV] Mark ITVX not working
* update old shim
* correct [_]IE_DESC
2 weeks ago
dirkf 2b4fbfce25 [YouTube] Support player `4fcd6e4a`
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
2 weeks ago
dirkf 1bc45b8b6c [JSInterp] Use `,` for join() with null/undefined argument
Eg: [1,2,3].join(null) -> '1,2,3'
2 weeks ago
dirkf b982d77d0b [YouTube] Align signature tests with yt-dlp
thx bashonly, yt-dlp/yt-dlp#12725
2 weeks ago
dirkf c55dbf4838 [YouTube] Update signature extraction for players `643afba4`, `363db69b` 2 weeks ago
dirkf 087d865230 [YouTube] Support new player URL patterns 2 weeks 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;)
2 weeks ago
dirkf a464c159e6 [YouTube] Make `_extract_player_info()` use `_search_regex()` 2 weeks ago
dirkf 7dca08eff0 [YouTube] Also get original of translated automatic captions 2 weeks ago
dirkf 2239ee7965 [YouTube] Get subtitles/automatic captions from both web and API responses 2 weeks 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>
3 weeks ago
dirkf 37c2440d6a [YouTube] Update player client data
thx seproDev (yt-dlp/yt-dlp#12603)

Co-authored-by: sepro <sepro@sepr0.com>
3 weeks ago
dirkf 420d53387c [JSInterp] Improve tests
* from yt-dlp/yt-dlp#12313
* also fix d7c2708
4 weeks ago
dirkf 32f89de92b [YouTube] Update TVHTML5 client parameters
* resolves #33078
4 weeks ago
dirkf 283dca56fe [YouTube] Initially support tce-style player JS
* resolves #33079
4 weeks ago
dirkf 422b1b31cf [YouTube] Temporarily redirect from tce-style player JS 4 weeks ago
dirkf 1dc27e1c3b [JSInterp] Make indexing error handling more conformant
* by default TypeError -> undefined, else raise
* set allow_undefined=True/False to override
4 weeks ago
dirkf af049e309b [JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception 4 weeks 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.
4 weeks ago
dirkf 974c7d7f34 [compat] Fix inheriting from compat_collections_chain_map
* see ytdl-org/youtube-dl#33079#issuecomment-2704038049
4 weeks ago
dirkf 8738407d77 [compat] Support zstd Content-Encoding
* see RFC 8878 7.2
4 weeks ago
dirkf cecaa18b80 [compat] Clean-up
* make workaround_optparse_bug9161 private
* add comments
* avoid leaving test objects behind
4 weeks ago
dirkf 673277e510
[YouTube] Fix 91b1569 1 month 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>
1 month ago
dirkf 711e72c292 [JSInterp] Fix bit-shift coercion for player 9c6dfc4a 2 months ago
dirkf 26b6f15d14 [compat] Make casefold private
* if required, not supported:
`from youtube_dl.casefold import _casefold as casefold`
2 months ago
dirkf 5975d7bb96 [YouTube] Use X-Goog-Visitor-Id
* required with tv player client
* resolves #33030
3 months ago
dirkf 63fb0fc415 [YouTube] Retain .videoDetails members from all player responses 3 months ago
dirkf b09442a2f4 [YouTube] Also use ios client when is_live 3 months ago
dirkf 55ad8a24ca [YouTube] Support `... /feeds/videos.xml?playlist_id={pl_id}` 3 months ago
dirkf 21fff05121 [YouTube] Switch to TV API client
* thx yt-dlp/yt-dlp#12059
3 months ago
dirkf 1036478d13 [YouTube] Endure subtitle URLs are complete
* WEB URLs are, MWEB not
* resolves #33017
3 months ago