Commit Graph

551 Commits (7799e518956387bb3c1064c9beae26eab8d5044a)

Author SHA1 Message Date
coletdjnz 3d2623a898
[compat, networking] Deprecate old functions (#2861)
Authored by: coletdjnz, pukkandan
1 year ago
coletdjnz 227bf1a33b
[networking] Rewrite architecture (#2861)
New networking interface consists of a `RequestDirector` that directs
each `Request` to appropriate `RequestHandler` and returns the
`Response` or raises `RequestError`. The handlers define adapters to
transform its internal Request/Response/Errors to our interfaces.

User-facing changes:
- Fix issues with per request proxies on redirects for urllib
- Support for `ALL_PROXY` environment variable for proxy setting
- Support for `socks5h` proxy
   - Closes https://github.com/yt-dlp/yt-dlp/issues/6325, https://github.com/ytdl-org/youtube-dl/issues/22618, https://github.com/ytdl-org/youtube-dl/pull/28093
- Raise error when using `https` proxy instead of silently converting it to `http`

Authored by: coletdjnz
1 year ago
pukkandan c365dba843
[networking] Add module (#2861)
No actual changes - code is only moved around
1 year ago
Simon Sawicki 3121512228
[core] Change how `Cookie` headers are handled
Cookies are now saved and loaded under `cookies` key in the info dict
instead of `http_headers.Cookie`. Cookies passed in headers are
auto-scoped to the input URLs with a warning.

Ref: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj

Authored by: Grub4K
1 year ago
pukkandan bc344cd456
[core] Allow extractors to mark formats as potentially DRM (#7396)
This is useful for HLS where detecting whether the format is
actually DRM requires the child manifest to be downloaded.

Makes the error message when using `--test` inconsistent,
but doesn't really matter.
1 year ago
pukkandan 906c0bdcd8
[formats] Fix best fallback for storyboards
Partial fix for #7478
1 year ago
pukkandan 337734d4a8
[cleanup] Misc 1 year ago
pukkandan 47bcd43724
[outtmpl] Pad `playlist_index` etc even when with internal formatting
Closes #7501
1 year ago
pukkandan b4e0d75848
Improve `--download-sections`
* Support negative time-ranges
* Add `*from-url` to obey time-ranges in URL

Closes #7248
1 year ago
pukkandan 0dff8e4d1e
Indicate `filesize` approximated from `tbr` better 1 year ago
pukkandan 1619ab3e67
Bugfix for ebe1b4e34f 1 year ago
pukkandan 84078a8b38
[core] Fix `filepath` being copied to underlying format dict
Closes #6536
1 year ago
pukkandan ad54c9130e
[cleanup] Misc
Closes #6288, Closes #7197, Closes #7265, Closes #7353, Closes #5773
Authored by: mikf, freezboltz, pukkandan
1 year ago
Nicolai Dagestad db3ad8a676
Add option `--netrc-cmd` (#6682)
Authored by: NDagestad, pukkandan
Closes #1706
1 year ago
pukkandan ebe1b4e34f
[outtmpl] Fix some minor bugs
Closes #7164
1 year ago
pukkandan 93b39cdbd9
Add `--compat-option playlist-match-filter`
Closes #6073
1 year ago
Ivan Skodje 372a0f3b9d
Auto-select default format in `-f-` (#7101)
Authored by: ivanskodje, pukkandan
Closes #6720
2 years ago
coletdjnz 3f66b6fe50
[core] Workaround erroneous urllib Windows proxy parsing (#7092)
Convert proxies extracted from windows registry to http for older Python versions.
See: https://github.com/python/cpython/issues/86793

Authored by: coletdjnz
2 years ago
coletdjnz b87e01c123
[cookies] Move `YoutubeDLCookieJar` to cookies module (#7091)
Authored by: coletdjnz
2 years ago
Simon Sawicki 8417f26b8a
[core] Implement `--color` flag (#6904)
Authored by: Grub4K
2 years ago
pukkandan 46f1370e9a
[devscripts/cli_to_api] Add script 2 years ago
coletdjnz 955c89584b
[core] Deprecate internal `Youtubedl-no-compression` header (#6876)
Authored by: coletdjnz
2 years ago
coletdjnz 69bec6730e
[cleanup, utils] Split into submodules (#7090)
Closes https://github.com/yt-dlp/yt-dlp/pull/2173

Authored by: pukkandan, coletdjnz
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
2 years ago
pukkandan 6f2287cb18
[cleanup] Misc
Closes #7030, closes #6967
2 years ago
pukkandan c8bc203fbf
[docs] Misc improvements
Closes #6814, closes #6940, closes #6733, closes #6923, closes #6566, closes #6726, closes #6728
2 years ago
pukkandan 17ba4343cf
Fix f005a35aa7
Printing inside `finally` causes the order of logging to change
when there is an error, which is undesirable. So this is reverted.

The issue of `--print` being blocked by pre-processors was an
unintentional side-effect of changing the operation orders in
170605840e, and this is also partially
reverted.
2 years ago
pukkandan f005a35aa7
Ensure pre-processor errors do not block `--print`
Closes #6937
2 years ago
pukkandan b5f61b69d4
Fix bug in 170605840e
and related refactor
2 years ago
pukkandan 170605840e
Populate `filename` and `urls` fields at all stages of `--print`
Closes https://github.com/yt-dlp/yt-dlp/issues/6920
2 years ago
pukkandan ec9311c41b
[outtmpl] Support `str.format` syntax inside replacements
Closes #6843
2 years ago
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
2 years ago
pukkandan 9874e82b5a
Do not translate newlines in `--print-to-file`
Fixes https://github.com/yt-dlp/yt-dlp/issues/6808#issuecomment-1509361107
2 years ago
pukkandan c3f624ef0a
Relaxed validation for numeric format filters
Continued from f96bff99cb

Closes #6782
2 years ago
pukkandan 26010b5cec
[postprocessor/FixupDuplicateMoov] Fix bug in triggering 2 years ago
pukkandan ab1de9cb1e
Support loading info.json with a list at it's root 2 years ago
pukkandan 392389b7df
[cleanup] Misc 2 years ago
pukkandan fe2ce85aff
Add option `--break-match-filters`
* Deprecates `--break-on-reject`

Closes #5962
2 years ago
Simon Sawicki 29cb20bd56
[build] Automated builds and nightly releases (#6220)
Closes #1839
Authored by: Grub4K, bashonly

Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
2 years ago
pukkandan 5b28cef72d
[cleanup] Misc 2 years ago
pukkandan a538772969
[cleanup] Misc
Closes #5897
2 years ago
Siddhartha Sahu 376aa24b15
Improve default subtitle language selection (#6240)
Authored by: sdht0
2 years ago
pukkandan 9ebac35577
Bugfix for 39f32f1715
when `--ignore-no-formats-error`
2 years ago
pukkandan c154302c58
Bugfix for 39f32f1715 2 years ago
pukkandan 39f32f1715
Sanitize formats before sorting
Closes #4501
2 years ago
bashonly 7e68567e50
[downloader/hls] Allow extractors to provide AES key (#6158)
and related cleanup

Authored by: bashonly, Grub4K

Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
2 years ago
pukkandan 7aefd19afe
Make `title` completely non-fatal
Ref: https://github.com/yt-dlp/yt-dlp/pull/6158#discussion_r1096984349
2 years ago
pukkandan 59d7de0da5
Fix `--concat-playlist`
Closes #6080
2 years ago
pukkandan f079514957
[utils] `windows_enable_vt_mode`: Better error handling
Closes #5927
2 years ago
pukkandan 08e29b9f1f
[cleanup] Misc
Closes #5576, closes #5887
2 years ago
Matthew 8300774c4a
Add `--enable-file-urls` (#5917)
Closes https://github.com/yt-dlp/yt-dlp/issues/3675

Authored by: coletdjnz
2 years ago
Matthew e756f45ba0
Improve handling for overriding extractors with plugins (#5916)
* Extractors replaced with plugin extractors now show in debug output
* Better testcase handling
* Added documentation
Authored by: coletdjnz, pukkandan
2 years ago
pukkandan 193fb150b7
Fix bug in 119e40ef64 2 years ago
pukkandan 88fb942577
Add message when there are no subtitles/thumbnails
Closes #5551
2 years ago
Matthew 8e40b9d1ec
Improve plugin architecture (#5553)
to make plugins easier to develop and use:
* Plugins are now loaded as namespace packages.
* Plugins can be loaded in any distribution of yt-dlp (binary, pip, source, etc.).
* Plugin packages can be installed and managed via pip, or dropped into any of the documented locations.
* Users do not need to edit any code files to install plugins.
* Backwards-compatible with previous plugin architecture.

As a side-effect, yt-dlp will now search in a few more locations for config files.

Closes https://github.com/yt-dlp/yt-dlp/issues/1389

Authored by: flashdagger, coletdjnz, pukkandan, Grub4K
Co-authored-by: Marcel <flashdagger@googlemail.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
2 years ago
pukkandan ec54bd43f3
Fix bug in writing playlist info-json
Closes #4889
2 years ago
pukkandan 119e40ef64
Add pre-processor stage `video`
Related: #456, #5808
2 years ago
Anant Murmu efa944f4bc
[cleanup] Use `random.choices` (#5800)
Authored by: freezboltz
2 years ago
pukkandan 8791e78ccc
Fix `original_url` in playlists 2 years ago
pukkandan 71df9b7fd5
[cleanup] Misc 2 years ago
pukkandan 784320c98c
Implement universal format sorting
Closes #5566
2 years ago
pukkandan 105bfd90f5
Add new field `aspect_ratio`
Closes #5402
2 years ago
pukkandan 6368e2e639
[cleanup] Misc
Closes #5541
2 years ago
pukkandan d7b460d0e5
Make early reject of `--match-filter` stricter
Closes #5509
2 years ago
pukkandan bc5c2f8a2c
Fix bugs in `PlaylistEntries` 2 years ago
bashonly e4221b700f
Fix `--list` options not implying `-s` in some cases (#5296)
Authored by: bashonly, Grub4K
2 years ago
pukkandan 497074f044
Write API params in debug head 2 years ago
pukkandan d5d1df8afd
[cleanup Misc
Closes #5162
2 years ago
cruel-efficiency 2576d53a31
Fix end time of clips (#5255)
Closes #5256
Authored by: cruel-efficiency
2 years ago
pukkandan 9b9dad119a
[outtmpl] Ensure ASCII in json and add option for Unicode
Closes #5236
2 years ago
pukkandan 94dc8604dd
Do more processing in `--flat-playlist` 2 years ago
pukkandan aebb4f4ba7
Fix for formats=None
Fixes: https://github.com/yt-dlp/yt-dlp/pull/4965#issuecomment-1267682512
2 years ago
pukkandan a057779d5e
[cleanup] Minor fixes
Closes #5129, Closes #4982
2 years ago
sam 177662e0f2
[extractor/MicrosoftEmbed] Add extractor (#5082)
Closes #2638
Authored by: DoubleCouponDay
2 years ago
Simon Sawicki dfea94f8f6
[extractor/crunchyroll:beta] Improve handling of hardsubs (#5041)
Closes #3397
Authored by: Grub4K
2 years ago
pukkandan 0500ee3d81
Don't download entire video when no matching `--download-sections` 2 years ago
pukkandan 0bd5a039ea
Playlists maynot always have webpage_url 2 years ago
Lesmiscore fc2ba496fd
Allow open ranges for time ranges (#4940)
Authored by: Lesmiscore
2 years ago
pukkandan 9c935fbc72
Fix bug in ae1035646a
Closes #4890
2 years ago
pukkandan deae7c1711
[cleanup] Misc 2 years ago
pukkandan 941e881e1f
Fix bug in ae1035646a
Closes #4881
2 years ago
pukkandan ae1035646a
Allow a `set` to be passed as `download_archive` 2 years ago
pukkandan 17ffed1842
[docs] Improvements
* Move detailed installation instructions to https://github.com/yt-dlp/yt-dlp/wiki/Installation
* Link to wiki where applicable
* Fix some mistakes. Closes #4853, Closes #4855, Closes #4852
* Improve some error messages
2 years ago
pukkandan 48c8424bd9
Fix bug in 07a1250e0e 2 years ago
pukkandan 07a1250e0e
[outtmpl] Curly braces to filter keys 2 years ago
pukkandan d2c8aadf79
[cleanup] Misc
Closes #4710, Closes #4754, Closes #4723
Authored by: pukkandan, MrRawes, DavidH-2022
2 years ago
pukkandan 1ac7f46184
Update to ytdl-commit-ed5c44e7
[compat] Replace deficient ChainMap class in Py3.3 and earlier
ed5c44e7b7
2 years ago
bashonly 9bd13fe5bb
[cookies] Support firefox container in `--cookies-from-browser` (#4753)
Authored by: bashonly
2 years ago
pukkandan da4db748fa
[utils] Add `deprecation_warning`
See https://github.com/yt-dlp/yt-dlp/pull/2173#issuecomment-1097021515
2 years ago
pukkandan b5e7a2e69d
Add version to infojson 2 years ago
pukkandan fd404bec7e
Fix `--break-per-url --max-downloads` 2 years ago
pukkandan fe7866d0ed
Add option `--use-extractors`
Deprecates `--force-generic-extractor`

Closes #3234, Closes #2044

Related: #4307, #1791
2 years ago
pukkandan 5314b52192
[utils] Add orderedSet_from_options 2 years ago
pukkandan a831c2ea90
[cleanup] Misc 2 years ago
pukkandan c200096c03
Fix bug in --download-archive
Closes #4668
2 years ago
pukkandan 1e4fca9a87
[cleanup] Misc 2 years ago
Lesmiscore 62b58c0936
[docs] Consistent use of `e.g.` (#4643)
Authored by: Lesmiscore
2 years ago
pukkandan f0ad6f8c51
Remove filtered entries from `-J`
Closes #4369
2 years ago
pukkandan 70b2340909
[build, devscripts] Add devscript to set a build variant
Closes #4471
2 years ago
pukkandan b8ed0f15d4
[extractor] Add field `audio_channels` 2 years ago
Lauren N. Liberda fc61aff41b
Determine merge container better (See desc) (#1482)
* Determine the container early. Closes #4069
* Use codecs instead of just file extensions
* Obey `--prefer-free-formats`
* Allow fallbacks in `--merge-output`

Authored by: pukkandan, selfisekai
2 years ago