Commit Graph

18956 Commits (68fe8c1781f6bbfef3aa75cf7746f6508d7ef75c)
 

Author SHA1 Message Date
dirkf 68fe8c1781 [utils] Support traversal helper functions `require`, `value`, `unpack`
Thx: yt-dlp/yt-dlp#10653
2 weeks ago
dirkf 96419fa706 [utils] Support `filter` traversal key
Thx yt-dlp/yt-dlp#10653
2 weeks ago
dirkf cca41c9d2c [test] Move dict_get() traversal test to its own class
Matches yt-dlp/yt-dlp#9426
2 weeks ago
dirkf bc39e5e678 [test] Fix test_traversal_morsel for Py 3.14+
Thx: yt-dlp/yt-dlp#13471
2 weeks ago
dirkf 014ae63a11 [test] Support additional args and kwargs in report_warning() mocks 2 weeks ago
dirkf 1e109aaee1 [workflows/ci] Avoid installing wheel and setuptools with pip
Works around dependent wheel installation failure with Py 3.4 from 2025-10
2 months ago
dirkf efb4011211 [YouTube] Introduce `_extract_and_report_alerts()` per yt-dlp
Fixes #33196.

Also removing previous `_extract_alerts()` method.
2 months ago
dirkf c1f5c3274a [YouTube] Improve some traversals
Pending full alignment with yt-dlp ...
2 months ago
dirkf e21ff28f6f [YouTube] Misc clean-ups from linter, etc 2 months ago
dirkf 82552faba6 [workflows/ci] Update to windows-2022 runner
FFS
2 months ago
dirkf 617d4e6466 [core] Support explicit `--no-list-formats` option 2 months ago
dirkf 9223fcc48a [YouTube] Support `LOCKUP_CONTENT_TYPE_VIDEO` in subscriptions feed extraction
From yt-dlp/yt-dlp#13665), thx bashonly
2 months ago
dirkf 4222c6d78b [YouTube] Extract fallback title and description from initial data
Based on yt-dlp/yt-dlp#14078, thx bashonly
2 months ago
dirkf 2735d1bf1d [YouTube] Extract srt subtitles
From yt-dlp/yt-dlp#13411, thx gamer191
2 months ago
dirkf f2a774cb9d [YouTube] Fix subtitles extraction
From yt-dlp/yt-dlp#13659, thx bashonly
2 months ago
dirkf 92680b127f [YouTube] Handle required preroll waiting period
* Based on yt-dlp/yt-dlp#14081, thx bashonly
* Uses internal `youtube_preroll_sleep` param, default 6s
2 months ago
dirkf 40ab920354 [downloader] Delay download according to `available_at` format key 2 months ago
dirkf 0739f58f90 [YouTube] Implement player JS override for player `0004de42`
* based on yt-dlp/yt-dlp#14398, thx seproDev
* adds --youtube-player-js-variant option
* adds --youtube-player-js-version option
* sets defaults to main variant of player `0004de42`
* fixes #33187, for now
2 months ago
dirkf aac0148b89 [YouTube] Force `WEB` user agent for video page download
Fixes #33142, until default UAs work.
2 months ago
dirkf 7f7b3881aa [YouTube] Handle Web Safari formats
From yt-dlp/yt-dlp#14168, thx bashonly.
2 months ago
dirkf 0c41b03114 [YouTube] Update player client details 2 months ago
dirkf 7c6630bfdd [YouTube] Miscellaneous clean-ups 2 months ago
dirkf a084c80f7b [YouTube] Fix 680069a, excess `min_ver`
Resolves #33125.
7 months ago
dirkf e102b9993a [workflows/ci.yml] Move pinned Ubuntu runner images from withdrawn 20.4 to 22.04
* fix consequent missing `python-is-python2` package
7 months ago
dirkf 680069a149 [YouTube] Improve n-sig function extraction for player `aa3fc80b`
Resolves #33123
7 months ago
dirkf 4a31290ae1 [YouTube] Delete cached problem nsig cache data on descrambling error
* inspired by yt-dlp/yt-dlp#12750
7 months ago
dirkf 3a42f6ad37 [YouTube] Cache signature timestamp from player JS
* if the YT webpage can't be loaded, getting the `sts` requires loading the
player JS: this caches it
* based on yt-dlp/yt-dlp#13047, thx bashonly
7 months ago
dirkf ec75141bf0 [Cache] Add `clear` function 7 months ago
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
8 months ago
dirkf bd2ded59f2 [JSInterp] Improve unary operators; add `!` 8 months ago
dirkf 16b7e97afa [JSInterp] Add `_separate_at_op()` 8 months ago
dirkf d21717978c [JSInterp] Improve JS classes, etc 8 months ago
dirkf 7513413794 [JSInterp] Reorganise some declarations to align better with yt-dlp 8 months ago
dirkf 67dbfa65f2 [InfoExtractor] Fix merging subtitles to empty target 8 months ago
dirkf 6eb6d6dff5 [InfoExtractor] Use local variants for remaining parent method calls
* ... where defined
8 months ago
dirkf 6c40d9f847 [YouTube] Remove remaining hard-coded API keys
* no longer required for these cases
8 months ago
dirkf 1b08d3281d [YouTube] Fix playlist continuation extraction
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
8 months ago
dirkf 32b8d31780 [YouTube] Support shorts playlist
* only 1..100: yt-dlp/yt-dlp#11130
8 months ago
dirkf 570b868078 [cache] Use `esc_rfc3986` to encode cache key 8 months ago
dirkf 2190e89260 [utils] Support optional `safe` argument for `escape_rfc3986()` 8 months ago
dirkf 7e136639db [compat] Improve Py2 compatibility for URL Quoting 8 months ago
dirkf cedeeed56f [cache] Align further with yt-dlp
* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging
8 months ago
dirkf add4622870 [compat] Add compat_os_makedirs
* support exists_ok parameter in Py < 3.2
8 months ago
dirkf 9a6ddece4d [core] Refactor message routines to align better with yt-dlp
* in particular, support `only_once` in the same methods
8 months ago
dirkf 3eb8d22ddb
[JSInterp] Temporary fix for #33102 8 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`
8 months ago
dirkf c1ea7f5a24 [ITV] Mark ITVX not working
* update old shim
* correct [_]IE_DESC
8 months ago
dirkf 2b4fbfce25 [YouTube] Support player `4fcd6e4a`
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
8 months ago
dirkf 1bc45b8b6c [JSInterp] Use `,` for join() with null/undefined argument
Eg: [1,2,3].join(null) -> '1,2,3'
8 months ago
dirkf b982d77d0b [YouTube] Align signature tests with yt-dlp
thx bashonly, yt-dlp/yt-dlp#12725
8 months ago