Commit Graph

333 Commits (3ac54764301a0e97bf0d2eeb0c32d45a7e03d1f7)

Author SHA1 Message Date
pukkandan 8f84770acd
[utils] Fix `get_compatible_ext`
Closes #4647
2 years ago
Lesmiscore 62b58c0936
[docs] Consistent use of `e.g.` (#4643)
Authored by: Lesmiscore
2 years ago
pukkandan 8f53dc44a0
[jsinterp] Handle new youtube signature functions
Closes #4635
2 years ago
pukkandan a1c5bd82ec
[jsinterp] Truncate error messages
Related: #4635
2 years ago
pukkandan 989a01c261
[outtmpl] Smarter replacing of unsupported characters
Closes #1330
2 years ago
pukkandan 05e2243e80
Fix bug in be5c1ae862 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
pukkandan fe0918bb65
Import ctypes only when necessary
Closes #4541
2 years ago
pukkandan 0647d9251f
Minor bugfixes 2 years ago
pukkandan be5c1ae862
Standardize retry mechanism (#1649)
* [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
2 years ago
pukkandan 8f97a15d1c [extractor] Framework for embed detection (#4307) 2 years ago
nixxo 47304e07dc
[extractor/rai] Add raisudtirol extractor (#4524)
Closes #4206
Authored by: nixxo
2 years ago
pukkandan daef791100
[utils] sanitize_open: Allow any IO stream as stdout
Fixes: https://github.com/yt-dlp/yt-dlp/issues/3298#issuecomment-1181754989
2 years ago
pukkandan 8dc5930511
[utils, cleanup] Consolidate known media extensions 2 years ago
coletdjnz 871a8929bc
[extractor/archiveorg] Improve handling of formats (#4461)
* 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
2 years ago
pukkandan 693f060040
[youtube,twitch] Allow waiting for channels to become live
Closes #2597
2 years ago
pukkandan 3bec830a59
Reject entire playlists faster with `--match-filter`
Rejected based on `playlist_id` etc can be checked before any entries are extracted

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

Closes #4344
2 years ago
pukkandan d816f61fbf
[utils, cleanup] Refactor parse_codecs 2 years ago
pukkandan f2df407165
[cleanup] Misc cleanup 2 years ago
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: #4145
2 years ago
pukkandan 284a60c516
[options] Fix aliases to `--config-location` 2 years ago
Lesmiscore 44f14eb43e
Fix bug in 612f2be5d3 2 years ago
pukkandan ae61d108dd
[cleanup] Misc cleanup 2 years ago
pukkandan b1f94422cc
[update] Ability to set a maximum version for specific variants 2 years ago
crazymoose77756 962ffcf89c
[cleanup] Fix some typos (#4194)
Authored by: crazymoose77756
2 years ago
pukkandan c043c24625
[extractor] Fix `_create_request` when headers is None
Closes #4164
2 years ago
pukkandan 14f25df2b6
[compat] Remove deprecated functions from core code 2 years ago
pukkandan 54007a45f1
[cleanup] Consistent style for file heads 2 years ago
pukkandan ac66811112
[compat] Remove more functions
Removing any more will require changes to a large number of extractors
2 years ago
coletdev 379a4f161d
[utils] Fix inconsistent default handling between HTTP and HTTPS requests (#4158)
Default headers such as `Content-Type` were only being added for HTTPS requests among other handling.

Fixes bug in be4a824d74

Authored-by: coletdjnz
2 years ago
pukkandan 1ac4fd80c8
Fix playlist error handling
Bug in 7e88d7d78f
2 years ago
pukkandan 57e0f077a6
[update] Expose more functionality to API 2 years ago
pukkandan 5df1444255
[utils] `ExtractorError`: Fix `exc_info` 2 years ago
pukkandan 612f2be5d3
Bugfix for 7b2c3f47c6 2 years ago
pukkandan 7b2c3f47c6
[cleanup] Misc 2 years ago
pukkandan 8aa0e7cd96
[docs] Improvements 2 years ago
pukkandan 8072ef2bbd
[extractor/BiliIntl] Fix metadata extraction
Closes #4116
2 years ago
pukkandan 44a6fcff39
Improve error handling of bad config files
Related: #824
2 years ago
pukkandan a70635b8a1
[cleanup, utils] Don't use kwargs for `format_field` 2 years ago
christoph-heinrich e121e3cee7
[cleanup] Minor fixes (#4096)
Authored by: christoph-heinrich
2 years ago
pukkandan 7e9a612585
Add option `--lazy-playlist` to process entries as they are received 2 years ago
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 #2951, Closes #2853
2 years ago
pukkandan f0c9fb9682
[utils] `Popen`: Refactor to use contextmanager
Fixes https://github.com/yt-dlp/yt-dlp/issues/3531#issuecomment-1156223597
2 years ago
pukkandan 2cb1982043
[utils] `locked_file`: Fix for PyPy on Windows 2 years ago
pukkandan 64fa820ccf
[cleanup] Misc fixes (see desc)
* [tvver] Fix bug in 6837633a4a - Closes #4054
* [rumble] Fix tests - Closes #3976
* [make] Remove `cat` abuse - Closes #3989
* [make] Revert #3684 - Closes #3814
* [utils] Improve `get_elements_by_class` - Closes #3993
* [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
3 years ago
pukkandan 56ba69e4c9
[cleanup] Misc fixes
Closes #4027
3 years ago
pukkandan 5ec1b6b716
Add option `--download-sections` to download video partially
Closes #52, Closes #3932
3 years ago
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
3 years ago
pukkandan 1890fc6389
[cleanup] Misc fixes
Cherry-picks from: #3498, #3947
Related: #3949, https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836
Authored by: pukkandan, flashdagger, gamer191
3 years ago
coletdev 2c6dcb65fb
[utils] Send HTTP/1.1 ALPN extension (#3889)
Some servers may reject requests if not sent (e.g. fingerprinting)

Fixes #3878

Authored by: coletdjnz
3 years ago
pukkandan 8a82af3511
[cleanup] Misc fixes and cleanup
Closes #3780, Closes #3853, Closes #3850
3 years ago
pukkandan 6b9e832db7
`--config-location -` to provide options interactively 3 years ago
pukkandan b5899f4f19
[build, cleanup] Refactor
Closes #3835, #3837
3 years ago
pukkandan c487cf0010
[cleanup] Misc 3 years ago
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
3 years ago
pukkandan 0b9c08b47b
[utils] Improve performance using `functools.cache`
Closes #3786
3 years ago
pukkandan 2f97cc615b
[utils] `ISO3166Utils`: Add `EU` and `AP`
Fixes https://github.com/yt-dlp/yt-dlp/pull/3302#discussion_r875528517
3 years ago
pukkandan 9e49146352
Add option `--alias` 3 years ago
pukkandan 21633673c3
[cleanup] Minor fixes 3 years ago
pukkandan 80e8493ee7
[utils] `is_html`: Handle double BOM
Closes #2885
3 years ago
pukkandan 7896214c42
Bugfix for 591bb9d355
Closes #3769
3 years ago
pukkandan 591bb9d355
Fix color in `-q -F`
and convert `ydl._out_files`/`ydl._allow_colors` to `Namespace`

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

This reduces the need to create extractor instances
3 years ago
pukkandan 3d38b2d6d0
Fix `--date today`
Closes #3704
3 years ago
pukkandan d76fa1f3d4
[cookies] Allow `cookiefile` to be a text stream
Closes #3674
3 years ago
pukkandan fe1daad3cb
Bugfix for 59f943cd50
Fixes: 59f943cd50 (commitcomment-73251597)
3 years ago
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes #3684
* 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
3 years ago
pukkandan 4f28b537d9
Allow use of weaker ciphers with `--legacy-server-connect`
Closes #2043
3 years ago
coletdev bb58c9ed5c
Add support for SSL client certificate authentication (#3435)
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>
3 years ago
coletdev afac4caa7d
Fix redirect HTTP method handling (#3577)
Authored by: coletdjnz
3 years ago
Justin Keogh 131e14dc66
[utils] `locked_file`: Ignore illegal seek on `truncate` (#3610)
Closes #3557

Authored by: jakeogh
3 years ago
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 #3597
3 years ago
pukkandan 6f7563beb7
[XAttrMetadata] Refactor and document dependencies 3 years ago
Lesmiscore 94aa064497
[utils] YoutubeDLCookieJar: Detect and reject JSON file (#3599)
Authored by: Lesmiscore
3 years ago
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
3 years ago
pukkandan 492272fed6
`--match-filter -` to interactively ask for each video 3 years ago
pukkandan 59f943cd50
[utils] `write_string`: Workaround newline issue in `conhost`
On windows `conhost`, when `WINDOWS_VT_MODE` is enabled, `\n` is not
actually sent if the window is exactly the length of printed line,
and the line does not end with a white-space character. So the
line-break disappears when resizing the window.

Fixes #1863
3 years ago
pukkandan 059bc4db19
[compat/asyncio] Use `asyncio.all_tasks` 3 years ago
pukkandan 9cd080508d
Revert acbc642250
Reverts "[utils] WebSocketsWrapper: Ignore warnings at websockets instantiation"

The warning should not be suppressed. We need to address it
3 years ago
Lesmiscore acbc642250
[utils] WebSocketsWrapper: Ignore warnings at websockets instantiation
This also fixes crash caused by moving asyncio to .compat.

Authored by: Lesmiscore
Thanks: J.Chung at Discord (581418557871620106)
3 years ago
pukkandan 9b8ee23b99
[dependencies] Create module with all dependency imports 3 years ago
pukkandan 62f6f1cbf2
Don't imply `-s` for later stages of `-O` 3 years ago
pukkandan 1e9969f4f5
bugfix for a44ca5a470, 19a0394044, 77f9033095
Closes #3472
3 years ago
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor (#2173) 3 years ago
pukkandan abfecb7bc1
[utils] Fix WebSocketsWrapper
Bug in 3cea3edd1a
Closes #3422
3 years ago
pukkandan b07897ef5b
[utils] certifi: Make sure the pem file exists
Closes #3353
3 years ago
pukkandan e5a998f368
[cleanup] Misc cleanup (#2173)
Authored by: fstirlitz, pukkandan
3 years ago
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
3 years ago
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
3 years ago
pukkandan f9934b9614
[cleanup] Mark some compat variables for removal (#2173)
Authored by fstirlitz, pukkandan
3 years ago
felix cfb0511d82
[cleanup] Remove unused code paths (#2173)
Notes:

* `_windows_write_string`: Fixed in 3.6
  * https://bugs.python.org/issue1602
  * PEP: https://www.python.org/dev/peps/pep-0528

* Windows UTF-8 fix: Fixed in 3.3
  * https://bugs.python.org/issue13216

* `__loader__`: is always present in 3.3+
  * https://bugs.python.org/issue14646

* `workaround_optparse_bug9161`: Fixed in 2.7
  * https://bugs.python.org/issue9161

Authored by: fstirlitz
3 years ago
Lesmiscore 98804d034d
[utils] locked_file: Do not give executable bits for newly created files
Authored by: Lesmiscore
3 years ago
pukkandan 4abea8ca0a
[utils] `sanitize_path`: Fix when path is empty string 3 years ago
pukkandan b506289fe2
[test] Add `test_locked_file` 3 years ago
pukkandan b63837bce0
[utils] locked_file: Fix non-blocking non-exclusive lock 3 years ago