Commit Graph

18620 Commits (6e2626f092c63a5fa22a31df409610b5deaf3968)
 

Author SHA1 Message Date
dirkf 6e2626f092
[JSInterp] Improve separation logic
Based on 0468a3b325
2 years ago
dirkf c282e5f8d7 [ZDF] Overhaul ZDF extractors
* pull some yt-dlp changes into ZDFBaseIE._extract_format()
* add test cases from yt-dlp to ZDFIE
* fix crash in ZDFIE._extract_mobile() when object had no `formitaeten`
* improve title extraction in ZDFChannelIE (remove trailing station ident)
* avoid extracting non-video playlist items (fixes #31149)
2 years ago
dirkf 2ced5a7912 [test] Implement string "lambda x: condition(x)" as an expected value
Semantics equivalent to `assert condition(got)`
2 years ago
Xiyue 82e4eca711
[motherless] Fixed the broken uploader_id in the extractor (#31243)
* Fixed the broken uploader_id in the extractor.
* Make uploader_id RE looser
* Fix uploader_id in test Motherless_3
* Fix group pagination
* # coding: utf-8

Co-authored-by: Andy Xuming <xuminic@gmail.com>
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf 1b1442887e
[manyvids] Improve extraction (#31172)
* extract all formats from page
* extract description, uploader, views, likes
* downrate previews
* fix tests
* use txt_or_none()
2 years ago
dirkf 22127b271c
[NRK] Remove explicit Accept-Encoding header that invites Brotli
Fixes #31285
2 years ago
coletdjnz d35557a75d [Telegraaf] Use mobile GraphQL API endpoint
Workaround for Cloudflare 403
Fixes https://github.com/yt-dlp/yt-dlp/issues/5000
Authored by: coletdjnz
2 years ago
dirkf 9493ffdb8b [test] Use windows-2019 for tests
(At least for now) resolves #31249
2 years ago
pukkandan 7009bb9f31 [jsinterp] Workaround operator associativity issue
* temporary fix for player 5a3b6271 [1]

1. https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-1235384480
2 years ago
dirkf 218c423bc0 [cache] Add cache validation by program version, based on yt-dlp 2 years ago
dirkf 55c823634d [jsinterp] Handle new YT players 113ca41c, c57c113c
* add NaN
* allow any white-space character for `after_op`
* align with yt-dlp f26af78a8ac11d9d617ed31ea5282cfaa5bcbcfa (charcodeAt and bitwise overflow)
* allow escaping in regex, fixing player c57c113c
2 years ago
dirkf 4050e10a4c [options] Document that postprocessing is not forced by --postprocessor-args
Resolves #30307
2 years ago
dirkf ed5c44e7b7 [compat] Replace deficient ChainMap class in Py3.3 and earlier
* fix version check
2 years ago
dirkf 0f6422590e [compat] Replace deficient ChainMap class in Py3.3 and earlier 2 years ago
dirkf 4c6fba3765 [jsinterp] Improve try/catch/finally support 2 years ago
dirkf d619dd712f [jsinterp] Fix bug in operator precedence
* from 164b03c486
* added tests
2 years ago
dirkf 573b13410e [YouTube] Improve error check for n-sig processing 2 years ago
dirkf 66e58dccc2 [core] Avoid processing empty format list after removing bad formats
* also ensure compat encoding of error strings
2 years ago
dirkf 556862bc91 [utils] Ensure RFC3986 encoding result is unicode 2 years ago
gudata a8d5316aaf
[infoq] Avoid crash if the page has no `mp3Form`
* proposed fix for issue #31131, aligns with yt-dlp

Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf fd3f3bebd0 [uktvplay] Support domain without .uktv 2 years ago
dirkf 46b8ae2f52 [jsinterp] Clean up and pull yt-dlp style
* add compat_re_Pattern
* improve compat_collections_chain_map
* use class JS_Undefined
* remove unused code
2 years ago
dirkf 538ec65ba7
[jsinterp] Handle regexp literals and throw/catch execution (#31182)
* based on f6ca640b12, thanks pukkandan
* adds parse support for regexp flags
2 years ago
dirkf b0a60ce203
[jsinterp] Improve JS language support (#31175)
* operator ??
* operator ?.
* operator **
* accurate operator functions
* `undefined` handling
* object literals {a: 1, "b": expr}
* more tests for weird JS comparisons: see https://github.com/ytdl-org/youtube-dl/issues/31173#issuecomment-1217854397.
2 years ago
dirkf e52e8b8111 [postprocessor] Don't replace existing value with null metadata parsed from title 2 years ago
dirkf d231b56717
[jsinterp] Overhaul JSInterp to handle new YT players 4c3f79c5, 324f67b9 (#31170)
* back-port from yt-dlp 8f53dc44a0cc1c2d98c35740b9293462c080f5d0, thanks pukkandan
* also support void, improve <</>> precedence, improve expressions in comma-list
* add more tests
2 years ago
dirkf e6a836d54c [core] Make `--max-downloads ...` stop immediately on reaching the limit
Based on and closes #26638.
2 years ago
dirkf deee741fb1
[test, etc] Improve download test logs; also clean up some new flake8 issues (#31153)
* [test] Identify testcase errors better
* [test] Identify download errors better
* [extractor/minds] Linter
* [extractor/aes] Linter
2 years ago
Wes adb5294177
[aenetworks] Update _THEPLATFORM_KEY and _THEPLATFORM_SECRET (#29749)
Fixes ytdl-org/youtube-dl#29300
2 years ago
Kyraminol Endyeran 5f5c127ece
[VVVVID] Support video/dash types (#31060)
Resolves #31030.
2 years ago
dirkf 090acd58c1
[options] Improve be35e53 (--match-/reject-title parameter value)
Resolves #31064.
2 years ago
dirkf a03b9775d5 [Mediaset] Support player version number in URL pattern
Ref: https://github.com/yt-dlp/yt-dlp/issues/4141
2 years ago
dirkf 8a158a936c [NHK] Use new API URL 2 years ago
dirkf 11665dd236 [test] Fix linter for 3aa94d7945 2 years ago
dirkf cc179df346 [XHamster] Support xhday.com alias, extract `uploader_id`
* support xhday.com alias for xhamster.com (resolves #31023)
  Authored by: dirkf
* extract `uploader_id`:
  from 908b56eaf7
  (PR https://github.com/yt-dlp/yt-dlp/pull/844)
  Authored by: octotherp
2 years ago
pukkandan 0700fde640 [utils, etc] Kill child processes when yt-dl is killed
* derived from PR #26592, closes #26592

Authored by: Unrud
2 years ago
dirkf 811c480f7b [YouTube] Support JSON3 subtitle format
* subtitle tests updated to match
2 years ago
dirkf 3aa94d7945 [test] Fix workable subtitle tests (except YT) and mark others as skip, broken
* broken tests need to be fixed when fixing the respective IE
2 years ago
dirkf ef044be34b [test] Skip not _WORKING IE in subtitle tests; use unittest.skipTest throughout 2 years ago
dirkf 530f4582d0 [HRFernsehen] Back-port new extractor from yt-dlp
Closes #26445, where this was originally proposed.
2 years ago
pukkandan 1baa0f5f66 [utils] Escape URL while sanitizing
Closes #31008, #yt-dlp/263

While this fixes the issue in question, it does not try to address the root-cause of the problem
Refer: 915f911e365736227e134ad654601443dbfd7ccb, f5fa042c82300218a2d07b95dd6b9c0756745db3
2 years ago
LewdyCoder 9aa8e5340f
[Readme] Clarified extractor naming (#29799)
* Exported usable extractors must be named `xxxxIE`

Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf 04fd3289d3 [YouPorn] Improve `upload_date` extraction
See https://github.com/yt-dlp/yt-dlp/issues/2701#issuecomment-1034341883
3 years ago
dirkf 52c3751df7 [utils] Enable ALPN in HTTPS to satisfy broken servers
See https://github.com/yt-dlp/yt-dlp/issues/3878
3 years ago
dirkf 187a48aee2 [YouTube] Handle player c5a4daa1 with indirect n-function definition
* resolves #30976
3 years ago
Jacob Chapman be35e5343a Update options.py 3 years ago
dirkf c3deca86ae
[wat.tv] Add version `pver` to metadata API call
Resolves #30959.
3 years ago
dirkf c7965b9fc2
[NHK] Support alphabetic characters in 7-char NhkVod IDs (#29682) 3 years ago
dirkf e988fa4523 [doc] Clarify test naming 3 years ago
dirkf e27d8d819f
[streamcz] Remove empty `'{}'.format()` for Py2.6
Use `'-join()'` here, or `{0}`, ..., in general.
3 years ago