dirkf
27867cc814
[compat] Add compat_thread
2025-11-21 01:52:11 +00:00
dirkf
70b40dd1ef
[utils] Add subs_list_to_dict() traversal helper
...
Thx: yt-dlp/yt-dlp#10653 , etc
2025-11-21 01:52:11 +00:00
dirkf
a9b4649d92
[utils] Apply partial_application decorator to existing functions
...
Thx: yt-dlp/yt-dlp#10653 (etc)
2025-11-21 01:52:11 +00:00
dirkf
23a848c314
[utils] Add partial_application decorator function
...
Thx: yt-dlp/yt-dlp#10653
2025-11-21 01:52:11 +00:00
dirkf
a96a778750
[core] Fix housekeeping for available_at
2025-11-21 01:52:11 +00:00
dirkf
68fe8c1781
[utils] Support traversal helper functions require, value, unpack
...
Thx: yt-dlp/yt-dlp#10653
2025-11-21 01:52:11 +00:00
dirkf
96419fa706
[utils] Support filter traversal key
...
Thx yt-dlp/yt-dlp#10653
2025-11-21 01:52:11 +00:00
dirkf
cca41c9d2c
[test] Move dict_get() traversal test to its own class
...
Matches yt-dlp/yt-dlp#9426
2025-11-21 01:52:11 +00:00
dirkf
bc39e5e678
[test] Fix test_traversal_morsel for Py 3.14+
...
Thx: yt-dlp/yt-dlp#13471
2025-11-21 01:52:11 +00:00
dirkf
014ae63a11
[test] Support additional args and kwargs in report_warning() mocks
2025-11-21 01:52:11 +00:00
dirkf
1e109aaee1
[workflows/ci] Avoid installing wheel and setuptools with pip
...
Works around dependent wheel installation failure with Py 3.4 from 2025-10
2025-10-18 11:02:28 +01:00
dirkf
efb4011211
[YouTube] Introduce _extract_and_report_alerts() per yt-dlp
...
Fixes #33196 .
Also removing previous `_extract_alerts()` method.
2025-10-18 11:02:28 +01:00
dirkf
c1f5c3274a
[YouTube] Improve some traversals
...
Pending full alignment with yt-dlp ...
2025-10-18 11:02:28 +01:00
dirkf
e21ff28f6f
[YouTube] Misc clean-ups from linter, etc
2025-10-18 11:02:28 +01:00
dirkf
82552faba6
[workflows/ci] Update to windows-2022 runner
...
FFS
2025-09-29 02:15:05 +01:00
dirkf
617d4e6466
[core] Support explicit --no-list-formats option
2025-09-29 02:15:05 +01:00
dirkf
9223fcc48a
[YouTube] Support LOCKUP_CONTENT_TYPE_VIDEO in subscriptions feed extraction
...
From yt-dlp/yt-dlp#13665 ), thx bashonly
2025-09-29 02:15:05 +01:00
dirkf
4222c6d78b
[YouTube] Extract fallback title and description from initial data
...
Based on yt-dlp/yt-dlp#14078 , thx bashonly
2025-09-29 02:15:05 +01:00
dirkf
2735d1bf1d
[YouTube] Extract srt subtitles
...
From yt-dlp/yt-dlp#13411 , thx gamer191
2025-09-29 02:15:05 +01:00
dirkf
f2a774cb9d
[YouTube] Fix subtitles extraction
...
From yt-dlp/yt-dlp#13659 , thx bashonly
2025-09-29 02:15:05 +01:00
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
2025-09-29 02:15:05 +01:00
dirkf
40ab920354
[downloader] Delay download according to available_at format key
2025-09-29 02:15:05 +01:00
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
2025-09-29 02:15:05 +01:00
dirkf
aac0148b89
[YouTube] Force WEB user agent for video page download
...
Fixes #33142 , until default UAs work.
2025-09-29 02:15:05 +01:00
dirkf
7f7b3881aa
[YouTube] Handle Web Safari formats
...
From yt-dlp/yt-dlp#14168 , thx bashonly.
2025-09-29 02:15:05 +01:00
dirkf
0c41b03114
[YouTube] Update player client details
2025-09-29 02:15:05 +01:00
dirkf
7c6630bfdd
[YouTube] Miscellaneous clean-ups
2025-09-29 02:15:05 +01:00
dirkf
a084c80f7b
[YouTube] Fix 680069a, excess min_ver
...
Resolves #33125 .
2025-05-04 12:51:54 +01:00
dirkf
e102b9993a
[workflows/ci.yml] Move pinned Ubuntu runner images from withdrawn 20.4 to 22.04
...
* fix consequent missing `python-is-python2` package
2025-05-03 18:33:39 +01:00
dirkf
680069a149
[YouTube] Improve n-sig function extraction for player aa3fc80b
...
Resolves #33123
2025-05-03 00:09:21 +01:00
dirkf
4a31290ae1
[YouTube] Delete cached problem nsig cache data on descrambling error
...
* inspired by yt-dlp/yt-dlp#12750
2025-05-03 00:09:21 +01:00
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
2025-05-03 00:09:21 +01:00
dirkf
ec75141bf0
[Cache] Add clear function
2025-05-03 00:09:20 +01:00
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
2025-04-08 01:59:00 +01:00
dirkf
bd2ded59f2
[JSInterp] Improve unary operators; add !
2025-04-08 01:59:00 +01:00
dirkf
16b7e97afa
[JSInterp] Add _separate_at_op()
2025-04-08 01:59:00 +01:00
dirkf
d21717978c
[JSInterp] Improve JS classes, etc
2025-04-08 01:59:00 +01:00
dirkf
7513413794
[JSInterp] Reorganise some declarations to align better with yt-dlp
2025-04-08 01:59:00 +01:00
dirkf
67dbfa65f2
[InfoExtractor] Fix merging subtitles to empty target
2025-04-08 01:59:00 +01:00
dirkf
6eb6d6dff5
[InfoExtractor] Use local variants for remaining parent method calls
...
* ... where defined
2025-04-08 01:59:00 +01:00
dirkf
6c40d9f847
[YouTube] Remove remaining hard-coded API keys
...
* no longer required for these cases
2025-04-08 01:59:00 +01:00
dirkf
1b08d3281d
[YouTube] Fix playlist continuation extraction
...
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
2025-04-08 01:59:00 +01:00
dirkf
32b8d31780
[YouTube] Support shorts playlist
...
* only 1..100: yt-dlp/yt-dlp#11130
2025-04-08 01:59:00 +01:00
dirkf
570b868078
[cache] Use esc_rfc3986 to encode cache key
2025-04-08 01:59:00 +01:00
dirkf
2190e89260
[utils] Support optional safe argument for escape_rfc3986()
2025-04-08 01:59:00 +01:00
dirkf
7e136639db
[compat] Improve Py2 compatibility for URL Quoting
2025-04-08 01:59:00 +01:00
dirkf
cedeeed56f
[cache] Align further with yt-dlp
...
* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging
2025-04-08 01:59:00 +01:00
dirkf
add4622870
[compat] Add compat_os_makedirs
...
* support exists_ok parameter in Py < 3.2
2025-04-08 01:59:00 +01:00
dirkf
9a6ddece4d
[core] Refactor message routines to align better with yt-dlp
...
* in particular, support `only_once` in the same methods
2025-04-08 01:59:00 +01:00
dirkf
3eb8d22ddb
[JSInterp] Temporary fix for #33102
2025-03-31 04:21:09 +01:00