Commit Graph

356 Commits (d59a219b65329fdd97a8aa37895fbae2374d409a)

Author SHA1 Message Date
gamer191 304ad45a9b
[cleanup] Misc ()
Authored by: gamer191, pukkandan
nixxo 81b6102d20
[downloader/ism] Support ec-3 codec ()
Closes 
Authored by: nixxo
pukkandan 7a32c70d13
[cleanup] Fix flake8 and minor refactor
Issues from ab029d7e92, 1fb53b946c
pukkandan 0f60ba6e65
[extractor] Improve json+ld extraction
Related 
pukkandan 0500ee3d81
Don't download entire video when no matching `--download-sections`
pukkandan 914491b8e0
[utils] `Popen.run`: Fix default return in binary mode
Simon Sawicki ab029d7e92
[utils] `traverse_obj`: Rewrite, document and add tests ()
Authored by: Grub4K
pukkandan f55523cfdd
[utils] `js_to_json`: Improve
Closes 
pukkandan 2fa669f759
[docs] Misc improvements
Closes , Closes , Closes , Closes , Closes 
pukkandan dab284f80f
Workaround `libc_ver` not be available on Windows Store version of Python
pukkandan 9665f15a96
[outtmpl] Make `%s` work in strfformat for all systems
pukkandan 2b24afa6d7
Improve 5736d79172
pukkandan 1060f82f89
Fix `--config-location -`
pukkandan deae7c1711
[cleanup] Misc
pukkandan 941e881e1f
Fix bug in ae1035646a
Closes 
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 , Closes , Closes 
* Improve some error messages
Elyse 7657ec7ed6
[utils] `base_url`: URL paths can contain `&` ()
Authored by: elyse0
Closes 
pukkandan 07a1250e0e
[outtmpl] Curly braces to filter keys
Lesmiscore 82ea226c61
Restore LD_LIBRARY_PATH when using PyInstaller ()
Authored by: Lesmiscore
pukkandan da4db748fa
[utils] Add `deprecation_warning`
See https://github.com/yt-dlp/yt-dlp/pull/2173#issuecomment-1097021515
pukkandan 5314b52192
[utils] Add orderedSet_from_options
pukkandan 992dc6b486
[jsinterp] Implement timeout
Workaround for 
pukkandan 3ce2933693
[youtube] Fix error reporting of "Incomplete data"
Related: 
pukkandan 8f84770acd
[utils] Fix `get_compatible_ext`
Closes 
Lesmiscore 62b58c0936
[docs] Consistent use of `e.g.` ()
Authored by: Lesmiscore
pukkandan 8f53dc44a0
[jsinterp] Handle new youtube signature functions
Closes 
pukkandan a1c5bd82ec
[jsinterp] Truncate error messages
Related: 
pukkandan 989a01c261
[outtmpl] Smarter replacing of unsupported characters
Closes 
pukkandan 05e2243e80
Fix bug in be5c1ae862
Lauren N. Liberda fc61aff41b
Determine merge container better (See desc) ()
* Determine the container early. Closes 
* Use codecs instead of just file extensions
* Obey `--prefer-free-formats`
* Allow fallbacks in `--merge-output`

Authored by: pukkandan, selfisekai
pukkandan fe0918bb65
Import ctypes only when necessary
Closes 
pukkandan 0647d9251f
Minor bugfixes
pukkandan be5c1ae862
Standardize retry mechanism ()
* [utils] Create `RetryManager`
* Migrate all retries to use the manager
* [extractor] Add wrapper methods for convenience
* Standardize console messages for retries
* Add `--retry-sleep` for extractors
pukkandan 8f97a15d1c [extractor] Framework for embed detection ()
nixxo 47304e07dc
[extractor/rai] Add raisudtirol extractor ()
Closes 
Authored by: nixxo
pukkandan daef791100
[utils] sanitize_open: Allow any IO stream as stdout
Fixes: https://github.com/yt-dlp/yt-dlp/issues/3298#issuecomment-1181754989
pukkandan 8dc5930511
[utils, cleanup] Consolidate known media extensions
coletdjnz 871a8929bc
[extractor/archiveorg] Improve handling of formats ()
* Ignore private formats if not logged in (fixes https://github.com/yt-dlp/yt-dlp/issues/3832)
* Prefer original formats
* Support mpg formats

Authored by: coletdjnz, pukkandan
pukkandan 693f060040
[youtube,twitch] Allow waiting for channels to become live
Closes 
pukkandan 3bec830a59
Reject entire playlists faster with `--match-filter`
Rejected based on `playlist_id` etc can be checked before any entries are extracted

Related: 
pukkandan 6929b41a21
Remove Python 3.6 support
Closes 
pukkandan 88f60feb32
Fix a904a7f8c6
Lesmiscore a904a7f8c6
Allow users to specify encoding in each config files ()
Authored by: Lesmiscore
pukkandan ebf99aaf70
[utils] Fix `get_domain`
Bug in ae61d108dd

Closes 
pukkandan d816f61fbf
[utils, cleanup] Refactor parse_codecs
pukkandan f2df407165
[cleanup] Misc cleanup
pukkandan 168bbc4f38
Do not load system certificates when `certifi` is used
This causes `CERTIFICATE_VERIFY_FAILED` if there is an
expired/bad certificate in the system store

Partially reverts 8a82af3511

Related: 
pukkandan 284a60c516
[options] Fix aliases to `--config-location`
Lesmiscore 44f14eb43e
Fix bug in 612f2be5d3
pukkandan ae61d108dd
[cleanup] Misc cleanup
pukkandan b1f94422cc
[update] Ability to set a maximum version for specific variants
crazymoose77756 962ffcf89c
[cleanup] Fix some typos ()
Authored by: crazymoose77756
pukkandan c043c24625
[extractor] Fix `_create_request` when headers is None
Closes 
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
coletdev 379a4f161d
[utils] Fix inconsistent default handling between HTTP and HTTPS requests ()
Default headers such as `Content-Type` were only being added for HTTPS requests among other handling.

Fixes bug in be4a824d74

Authored-by: coletdjnz
pukkandan 1ac4fd80c8
Fix playlist error handling
Bug in 7e88d7d78f
pukkandan 57e0f077a6
[update] Expose more functionality to API
pukkandan 5df1444255
[utils] `ExtractorError`: Fix `exc_info`
pukkandan 612f2be5d3
Bugfix for 7b2c3f47c6
pukkandan 7b2c3f47c6
[cleanup] Misc
pukkandan 8aa0e7cd96
[docs] Improvements
pukkandan 8072ef2bbd
[extractor/BiliIntl] Fix metadata extraction
Closes 
pukkandan 44a6fcff39
Improve error handling of bad config files
Related: 
pukkandan a70635b8a1
[cleanup, utils] Don't use kwargs for `format_field`
christoph-heinrich e121e3cee7
[cleanup] Minor fixes ()
Authored by: christoph-heinrich
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 f0c9fb9682
[utils] `Popen`: Refactor to use contextmanager
Fixes https://github.com/yt-dlp/yt-dlp/issues/3531#issuecomment-1156223597
pukkandan 2cb1982043
[utils] `locked_file`: Fix for PyPy on Windows
pukkandan 64fa820ccf
[cleanup] Misc fixes (see desc)
* [tvver] Fix bug in 6837633a4a - Closes 
* [rumble] Fix tests - Closes 
* [make] Remove `cat` abuse - Closes 
* [make] Revert  - Closes 
* [utils] Improve `get_elements_by_class` - Closes 
* [utils] Inherit `Namespace` from `types.SimpleNamespace`
* [utils] Use `re.fullmatch` for matching filters
* [jsinterp] Handle quotes in `_separate`
* [make_readme] Allow overshooting last line

Authored by: pukkandan, kwconder, MrRawes, Lesmiscore
pukkandan 56ba69e4c9
[cleanup] Misc fixes
Closes 
pukkandan 5ec1b6b716
Add option `--download-sections` to download video partially
Closes , Closes 
pukkandan b7c47b7438
[extractor] Add `_search_json`
All fetching of JSON objects should eventually be done with this function
but only `youtube` is being refactored for now
pukkandan 1890fc6389
[cleanup] Misc fixes
Cherry-picks from: , 
Related: , https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836
Authored by: pukkandan, flashdagger, gamer191
coletdev 2c6dcb65fb
[utils] Send HTTP/1.1 ALPN extension ()
Some servers may reject requests if not sent (e.g. fingerprinting)

Fixes 

Authored by: coletdjnz
pukkandan 8a82af3511
[cleanup] Misc fixes and cleanup
Closes , Closes , Closes 
pukkandan 6b9e832db7
`--config-location -` to provide options interactively
pukkandan b5899f4f19
[build, cleanup] Refactor
Closes , 
pukkandan c487cf0010
[cleanup] Misc
pukkandan 53973b4d2c
[utils] Fix bug in 0b9c08b47b
* Cache of `supports_terminal_sequences` must be reset after enabling VT mode
* and move `windows_enable_vt_mode` to utils to avoid cyclic imports
pukkandan 0b9c08b47b
[utils] Improve performance using `functools.cache`
Closes 
pukkandan 2f97cc615b
[utils] `ISO3166Utils`: Add `EU` and `AP`
Fixes https://github.com/yt-dlp/yt-dlp/pull/3302#discussion_r875528517
pukkandan 9e49146352
Add option `--alias`
pukkandan 21633673c3
[cleanup] Minor fixes
pukkandan 80e8493ee7
[utils] `is_html`: Handle double BOM
Closes 
pukkandan 7896214c42
Bugfix for 591bb9d355
Closes 
pukkandan 591bb9d355
Fix color in `-q -F`
and convert `ydl._out_files`/`ydl._allow_colors` to `Namespace`

Closes 
pukkandan 2414649192
[cleanup] Misc cleanup
pukkandan 82d020804d
[extractor] Use classmethod/property where possible
and refactor lazy extractors accordingly.

This reduces the need to create extractor instances
pukkandan 3d38b2d6d0
Fix `--date today`
Closes 
pukkandan d76fa1f3d4
[cookies] Allow `cookiefile` to be a text stream
Closes 
pukkandan fe1daad3cb
Bugfix for 59f943cd50
Fixes: 59f943cd50 (commitcomment-73251597)
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes 
* Fix bug in 385ffb467b
* Fix bug in 43d7f5a5d0
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
pukkandan 4f28b537d9
Allow use of weaker ciphers with `--legacy-server-connect`
Closes 
coletdev bb58c9ed5c
Add support for SSL client certificate authentication ()
Adds `--client-certificate`, `--client-certificate-key`, `--client-certificate-password`

Authored-by: coletdjnz
Co-authored-by: df <fieldhouse@gmx.net>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
coletdev afac4caa7d
Fix redirect HTTP method handling ()
Authored by: coletdjnz
Justin Keogh 131e14dc66
[utils] `locked_file`: Ignore illegal seek on `truncate` ()
Closes 

Authored by: jakeogh
pukkandan 3fe75fdc80
[cleanup] Misc fixes (see desc)
* Do not warn when fixup is skipped for existing file
* [fragment] Fix `--skip-unavailable-fragments` for HTTP Errors
* [utils] write_string: Fix bug in 59f943cd50
* [utils] parse_codecs: Subtitle codec is generally referred to as `scodec`. https://github.com/yt-dlp/yt-dlp/pull/2174#discussion_r790156048
* [docs] Remove note about permissions. Closes