Commit Graph

1080 Commits (896a88c5c61a5431222a9b3a75c2c9c5129b1bbe)

Author SHA1 Message Date
pukkandan 57dbe8077f
[jsinterp] Fix splice to handle float
Needed for new youtube js player f1ca6900
Closes 
pukkandan 282f570918
[utils] Fix error when copying `LazyList`
pukkandan c5e3f84972
[utils] Allow alignment in `render_table`
and add tests
The Hatsune Daishi a04e005521
[AES] Add ECB mode ()
Needed for 
Authored by: nao20010128nao
pukkandan dd2a987d3f
[tests] Fix tests
pukkandan 9222c38182
[cleanup] Minor cleanup
Closes , Closes 
pukkandan 4476d2c764
[outtmpl] Add alternate forms for `q` and `j`
pukkandan 582fad70f5
[outtmpl] Do not traverse `None`
Closes 
pukkandan a331949df3
[test/download] Fallback test to `bv`
pukkandan a1fc7ca074
[jsinterp] Handle default in switch better
pukkandan 404f611f1c
[youtube] Fix throttling by decrypting n-sig ()
Damiano Amatruda 17ec8bcfa9
[microsoftstream] Add extractor ()
Based on: https://github.com/ytdl-org/youtube-dl/pull/24649
Fixes: https://github.com/ytdl-org/youtube-dl/issues/24440
Authored by: damianoamatruda, nixklai
pukkandan aa7785f860
[utils] Standardize timestamp formatting code
Closes 
pukkandan 176f1866cb
Add HDR information to formats
pukkandan 17bddf3e95
Reduce default `--socket-timeout`
pukkandan 18f96d129b
[utils] Allow duration strings in filter
Closes 
pukkandan b836dc94f2
[outtmpl] Fix bug in expanding environment variables
pukkandan b5ae35ee6d
[cleanup] Misc cleanup
pukkandan 819e05319b
Improved progress reporting (See desc) ()
* Separate `--console-title` and `--no-progress`
* Add option `--progress` to show progress-bar even in quiet mode
* Fix and refactor `minicurses`
* Use `minicurses` for all progress reporting
* Standardize use of terminal sequences and enable color support for windows 10
* Add option `--progress-template` to customize progress-bar and console-title
* Add postprocessor hooks and progress reporting

Closes: , , , 
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs
pukkandan 91dd88b90f
[outtmpl] Alternate form of format type `l` for `\n` delimited list
pukkandan 524e2e4fda
[outtmpl] Format type `U` for unicode normalization
pukkandan ff1c7fc9d3
Allow `0` in `--playlist-items`
pukkandan 1b629e1b4c
[test/cookies] Improve logging
Ákos Sülyi 09906f554d
[aes] Add `aes_gcm_decrypt_and_verify` ()
Authored by: sulyi, pukkandan
Nil Admirari c6af2dd8e5
[SponsorBlock] Improve merge algorithm ()
Authored by: nihil-admirari
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes , 
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes 
Related: 
pukkandan f5aa5cfbff
Add format type `B` for outtmpl to treat the value as bytes
This is useful to limit the filename to a certain number of bytes rather than characters
Closes 
coletdjnz a7e999beec
[pbs] Fix subtitle extraction ()
Original PR: https://github.com/ytdl-org/youtube-dl/pull/24430, https://github.com/ytdl-org/youtube-dl/pull/17434
Closes: , https://github.com/ytdl-org/youtube-dl/issues/18796, https://github.com/ytdl-org/youtube-dl/issues/17273
Authored-by: coletdjnz, gesa, raphaeldore
Nil Admirari 7a340e0df3
Native SponsorBlock implementation and related improvements ()
SponsorBlock options:
* The fetched sponsor sections are written to infojson
* `--sponsorblock-remove` removes specified chapters from file
* `--sponsorblock-mark` marks the specified sponsor sections as chapters
* `--sponsorblock-chapter-title` to specify sponsor chapter template
* `--sponsorblock-api` to use a different API

Related improvements:
* Split `--embed-chapters` from `--embed-metadata`
* Add `--remove-chapters` to remove arbitrary chapters
* Add `--force-keyframes-at-cuts` for more accurate cuts when removing and splitting chapters

Deprecates all `--sponskrub` options

Authored by: nihil-admirari, pukkandan
animelover1984 abafce59a1
[Niconico] Add Search extractors ()
Authored by: animelover1984, pukkandan
coletdjnz 0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` ()
Closes  
Authored by: coletdjnz
pukkandan 4dfbf8696b
[utils] Add `parse_qs`
pukkandan 9e598870dd
Fix `playlist_index` not obeying `playlist_start`
and add tests
Closes 
pukkandan 8f18aca871
Let `--match-filter` reject entries early
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
pukkandan ad3dc496bb Misc fixes - See desc
* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for 
pukkandan e9f4ccd19e
Add option `--replace-in-metadata`
pukkandan b868936cd6 [cleanup] Misc
pukkandan 243c57cfe8 [tests:download] Add batch testing for extractors
Use `test_YourExtractor_all` to invoke them
pukkandan 2b8a2973bd Allow entire infodict to be printed using `%()s`
Makes `--dump-json` redundant
pukkandan 6e84b21559
Fix bugs related to `sanitize_info`
Related: 8012d892bd (r54555230)
pukkandan a047eeb6d2
Add regex to `--match-filter`
This does not fully deprecate `--match-title`/`--reject-title`
since `--match-filter` is only checked after the extraction is complete,
while `--match-title` can often be checked from the flat playlist.

Fixes: https://github.com/ytdl-org/youtube-dl/issues/9092, https://github.com/ytdl-org/youtube-dl/issues/23035
Max Teegen 77b87f0519 Add all format filtering operators also to `--match-filter`
PR: https://github.com/ytdl-org/youtube-dl/pull/27361

Authored by: max-te
pukkandan 0855702f3f
[test:download] Support testing with `ignore_no_formats_error`
pukkandan e0f2b4b47d
[utils] Fix slicing of reversed `LazyList`
Closes 
pukkandan 7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
Closes 
pukkandan 901130bbcf Expand and escape environment variables correctly in outtmpl
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
pukkandan 052e135029
[youtube] Simplify `_get_text` early
pukkandan 060ac76257
[test] Use `pytest` instead of `nosetests` ()
`nosetests` is no longer being maintained : https://github.com/nose-devs/nose/issues/1099
and will stop working in py 3.10 as can be seen in