Commit Graph

134 Commits (18f8fba7c89a87f99cc3313a1795848867e84fff)

Author SHA1 Message Date
coletdjnz 08916a49c7
[core] Improve HTTP redirect handling ()
Aligns HTTP redirect handling with what browsers commonly do and RFC standards. 

Fixes issues afac4caa7d missed.

Authored by: coletdjnz
pukkandan 6f2287cb18
[cleanup] Misc
Closes , closes 
pukkandan ec9311c41b
[outtmpl] Support `str.format` syntax inside replacements
Closes 
pukkandan 78fde6e339
[outtmpl] Allow `\n` in replacements and default.
Fixes: https://github.com/yt-dlp/yt-dlp/issues/6808#issuecomment-1510055357
Fixes: https://github.com/yt-dlp/yt-dlp/issues/6808#issuecomment-1510363645
pukkandan 9f14daf22b
[extractor] Deprecate `_sort_formats`
pukkandan 07a1250e0e
[outtmpl] Curly braces to filter keys
pukkandan d2c8aadf79
[cleanup] Misc
Closes , Closes , Closes 
Authored by: pukkandan, MrRawes, DavidH-2022
pukkandan 97d9c79e92
Fix tests for 989a01c261
pukkandan f2df407165
[cleanup] Misc cleanup
pukkandan 14f25df2b6
[compat] Remove deprecated functions from core code
pukkandan 54007a45f1
[cleanup] Consistent style for file heads
pukkandan ac66811112
[compat] Remove more functions
Removing any more will require changes to a large number of extractors
pukkandan f0500bd1e4
[test] Fix `FakeYDL` signatures
Authored by: coletdjnz
pukkandan 7e9a612585
Add option `--lazy-playlist` to process entries as they are received
pukkandan 7e88d7d78f
Add slicing notation to `--playlist-items`
* Adds support for negative indices and step
* Add `-I` as alias for `--playlist-index`
* Deprecates `--playlist-start`, `--playlist-end`, `--playlist-reverse`, `--no-playlist-reverse`

Closes , Closes 
pukkandan 0a5a191a2a
Improve `--clean-infojson`
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
pukkandan 86e5f3ed2e
[cleanup] Upgrade syntax
Using https://github.com/asottile/pyupgrade

1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`

Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
pukkandan 34baa9fdf0
[outtmpl] Fix replacement/default when used with alternate
pukkandan 6db9c4d57d
Ignore format-specific fields in initial pass of `--match-filter`
Closes 
pukkandan 09b49e1f68
Add pre-processor stage `after_filter`
* Move `_match_entry` and `post_extract` to `process_video_result`. It is also left in `process_info` for API compat
* `--list-...` options and `--force-write-archive` now obey filtering options
* Move `SponsorBlockPP` to `after_filter`. Closes https://github.com/yt-dlp/yt-dlp/issues/2536
* Reverts 4ec82a72bb since this commit addresses the issue it was solving
pukkandan 9e907ebddf
[cleanup] Misc cleanup
pukkandan f46e2f9d92
Add key `requested_downloads` in the root `info_dict`
pukkandan abbeeebc4c
[outtmpl] Alternate form for `D` and fix suffix's case
Fixes: https://github.com/yt-dlp/yt-dlp/issues/2085#issuecomment-1002247689, https://github.com/yt-dlp/yt-dlp/pull/2132/files#r775729811
pukkandan 37893bb0c9
[outtmpl] Change filename sanitization type to `S`
`F` is already used for float!
Bug in e0fd95737d
pukkandan b69fd25c25
[cleanup] Misc cleanup
Closes     
pukkandan e0fd95737d
[outtmpl] Add alternate forms `F`, `D`
and improve `id` detection

F = sanitize as filename (# = restricted)
D = add Decimal suffixes

Closes , 2081
PilzAdam e978789f0f
[outtmpl] Add operator `&` for replacement text ()
Authored by: PilzAdam
pukkandan dd2a987d3f
[tests] Fix tests
pukkandan 4476d2c764
[outtmpl] Add alternate forms for `q` and `j`
pukkandan 582fad70f5
[outtmpl] Do not traverse `None`
Closes 
pukkandan b836dc94f2
[outtmpl] Fix bug in expanding environment variables
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 7c37ff97d3
Allow alternate fields in outtmpl
Closes , 
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 
pukkandan 9e598870dd
Fix `playlist_index` not obeying `playlist_start`
and add tests
Closes 
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 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 b5ac45b197
Fix selectors `all`, `mergeall` and add tests
Bug from: 981052c9c6
pukkandan 9fea350f0d
Fix id sanitization in filenames
Closes 
pukkandan 187986a857
Better error handling of syntax errors in `-f`
pukkandan 385a27fad1
Improve offset parsing in outtmpl
pukkandan 5c6542ce69
[test] More rigorous tests for `prepare_filename`
All tests of `prepare_outtmpl` is now also run on `prepare_filename`
pukkandan 639f1cea92
Fix `%d` and empty default in outtmpl
Closes