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
pukkandan
7356a44443
Fix misleading DRM message
...
Closes #4534
2 years ago
pukkandan
a6ca61d427
Fix bug in 0647d9251f
2 years ago
pukkandan
0647d9251f
Minor bugfixes
2 years ago
pukkandan
1e8fe57e5c
[extractor] Support multiple archive ids for one video ( #4307 )
...
Closes #4352
2 years ago
pukkandan
8f97a15d1c
[extractor] Framework for embed detection ( #4307 )
2 years ago
pukkandan
a6bcaf71fc
[outtmpl] Treat empty values as None in filenames
...
Workaround for #4485
2 years ago
pukkandan
8dc5930511
[utils, cleanup] Consolidate known media extensions
2 years ago
pukkandan
3955b20703
Fix bugs in 3bec830a59
...
Closes #4454
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
c6e07cf1e1
[cleanup] Misc
2 years ago
pukkandan
24093d52a7
[update] Prepare to remove Python 3.6 support
2 years ago
pukkandan
f5e438a976
[compat] Let PyInstaller detect _legacy module
2 years ago
pukkandan
a7dc6a89f6
Support `--no-progress` for `--wait-for-video`
...
Closes #4365
2 years ago
Sebastian Wallkötter
0f44636597
[docs] Improve docstring of `download_ranges` ( #4340 )
...
Authored by: FirefoxMetzger
3 years ago
pukkandan
f5ea47488a
[cleanup] Minor fixes
3 years ago
pukkandan
134c913cca
Discard info_dict from memory if no longer needed
...
Closes #1399
3 years ago
pukkandan
cb794ee010
Do not allow extractors to return `None`
3 years ago
pukkandan
563e0bf82a
Fix rounding of integers in format table
3 years ago
pukkandan
d816f61fbf
[utils, cleanup] Refactor parse_codecs
3 years ago
pukkandan
f2df407165
[cleanup] Misc cleanup
3 years ago
Lesmiscore (Naoya Ozaki)
ca9def714a
Skip some fixup if remux/recode is needed ( #4266 )
...
Authored by: Lesmiscore
3 years ago
pukkandan
47cdc68e03
[outtmpl] Add alternate form `h` for HTML escaping
...
Related: https://github.com/yt-dlp/yt-dlp/issues/3292
3 years ago
pukkandan
a3976e0760
Improve chapter sanitization
3 years ago
pukkandan
9d339c41e2
Release 2022.06.29
3 years ago
pukkandan
ae61d108dd
[cleanup] Misc cleanup
3 years ago
pukkandan
b1f94422cc
[update] Ability to set a maximum version for specific variants
3 years ago
pukkandan
9eef7c4e55
Sanitize `chapters`
...
Closes #4182
3 years ago
pukkandan
14f25df2b6
[compat] Remove deprecated functions from core code
3 years ago
pukkandan
54007a45f1
[cleanup] Consistent style for file heads
3 years ago
pukkandan
ac66811112
[compat] Remove more functions
...
Removing any more will require changes to a large number of extractors
3 years ago
pukkandan
bc40160883
Fix `section_end` of clips
...
Closes #4165
3 years ago
pukkandan
1ac4fd80c8
Fix playlist error handling
...
Bug in 7e88d7d78f
3 years ago
pukkandan
eff4275925
Add deprecation warning for Py3.6
...
See: https://github.com/yt-dlp/yt-dlp/issues/3764
3 years ago
pukkandan
3975b4d2e8
Allow extractors to specify section_start/end for clips
3 years ago
pukkandan
7b2c3f47c6
[cleanup] Misc
3 years ago
pukkandan
8aa0e7cd96
[docs] Improvements
3 years ago
pukkandan
bf1824b391
[cleanup] Deprecate `YoutubeDL.parse_outtmpl`
3 years ago
pukkandan
7e9a612585
Add option `--lazy-playlist` to process entries as they are received
3 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
3 years ago
pukkandan
f0c9fb9682
[utils] `Popen`: Refactor to use contextmanager
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/3531#issuecomment-1156223597
3 years ago
pukkandan
560738f34d
[extractor] Import `_ALL_CLASSES` lazily
...
This significantly speeds up `import yt_dlp` in the absence of `lazy_extractors`
3 years ago
pukkandan
fccf90e7f3
Fix bug in 56ba69e4c9
3 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
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
pukkandan
0bf9dc1e35
Fix bug in 8a82af3511
3 years ago
pukkandan
8a82af3511
[cleanup] Misc fixes and cleanup
...
Closes #3780 , Closes #3853 , Closes #3850
3 years ago
pukkandan
c487cf0010
[cleanup] Misc
3 years ago
pukkandan
415f8d51a8
Ensure pre-processor errors do not block video download
...
Closes #2875
3 years ago
pukkandan
ca6d59d2c1
Fix `--simulate --max-downloads`
...
Bug in c3e6ffba53
Closes #3815
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
23326151c4
Add option --retry-sleep ( #3059 )
...
Closes #2852
3 years ago
pukkandan
21633673c3
[cleanup] Minor fixes
3 years ago
pukkandan
7896214c42
Bugfix for 591bb9d355
...
Closes #3769
3 years ago
pukkandan
5792c950bf
[compat] Implement `compat.imghdr`
...
Python 3.11 deprecates `imghdr` module
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
490110c543
`--max-downloads` should obey `--break-per-input`
3 years ago
pukkandan
2414649192
[cleanup] Misc cleanup
3 years ago
pukkandan
494f52308b
[FixupM3u8] Obey `--hls-prefer-mpegts`
...
Closes #3697
3 years ago
pukkandan
3a408f9d19
Show name of downloader in verbose log
...
Closes #3703
3 years ago
pukkandan
d76fa1f3d4
[cookies] Allow `cookiefile` to be a text stream
...
Closes #3674
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
d7a1aa00c6
Run `FFmpegFixupM3u8PP` for live-streams if needed
...
Closes #3669
3 years ago
pukkandan
d4736fdb43
Remove warning for videos with an empty title
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
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
43d7f5a5d0
[EmbedThumbnail] Do not obey `-k`
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
0a41f331cc
[doc] Minor improvements
...
Closes #3518 , Closes #3560
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
0a5a191a2a
Improve `--clean-infojson`
...
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
3 years ago
pukkandan
9b8ee23b99
[dependencies] Create module with all dependency imports
3 years ago
pukkandan
19a0394044
[cleanup] Misc cleanup and refactor ( #2173 )
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
pukkandan
97ec5bc550
[cookies] Report progress when importing cookies
3 years ago
pukkandan
4abea8ca0a
[utils] `sanitize_path`: Fix when path is empty string
3 years ago
pukkandan
d8a58ddce7
De-prioritize automatic-subtitles when no `--sub-lang` is given
...
Closes #3314
3 years ago
pukkandan
316f2650f8
Ignore `mhtml` formats from `-f mergeall`
...
Closes #3324
3 years ago
pukkandan
a44ca5a470
[cleanup] Misc fixes
...
Closes https://github.com/yt-dlp/yt-dlp/pull/3213 , Closes https://github.com/yt-dlp/yt-dlp/pull/3117
Related: https://github.com/yt-dlp/yt-dlp/issues/3146#issuecomment-1077323114 , https://github.com/yt-dlp/yt-dlp/pull/3277#discussion_r841019671 , a825ffbffa (commitcomment-68538986)
, https://github.com/yt-dlp/yt-dlp/issues/2360 , 5fa3c9a88f (r70393519)
, 5fa3c9a88f (r70393254)
3 years ago
pukkandan
85e801a9db
Fallback to video-only format when selecting by extension
...
Closes #3296
3 years ago
pukkandan
5127e92a94
Fix filepath sanitization in `--print-to-file`
3 years ago
pukkandan
cb96c5be70
Fix `--no-overwrite` for playlist infojson
...
Fixes: https://github.com/yt-dlp/yt-dlp/issues/1467#issuecomment-1079922971
3 years ago
pukkandan
90137ca4be
[utils] Add `filter_dict`
3 years ago
pukkandan
c0b6e5c74d
Show warning when all media formats have DRM
...
Related: #1379
3 years ago
pukkandan
5c3895fff1
[outtmpl] Limit changes during sanitization
...
Closes #2761
3 years ago
pukkandan
34baa9fdf0
[outtmpl] Fix replacement/default when used with alternate
3 years ago
pukkandan
6db9c4d57d
Ignore format-specific fields in initial pass of `--match-filter`
...
Closes #3074
3 years ago
pukkandan
ae6a1b9585
[docs] Minor improvements
...
Closes #3127 , Closes #3081 , Closes #3177
3 years ago
pukkandan
c70c418d33
Fix `--abort-on-error` for subtitles
...
Closes #3163
3 years ago
coletdev
d5820461e8
Use certificates from `certifi` if installed ( #3115 )
...
Fixes #3102 and most `CERTIFICATE_VERIFY_FAILED` issues
Authored by: coletdjnz
3 years ago
pukkandan
0c14d66ad9
Fix `autonumber`
...
Bug in 09b49e1f68
3 years ago
pukkandan
16c620bc55
Handle float in `--wait-for-video`
...
Closes #3082
3 years ago
pukkandan
592b748582
[cleanup] Minor cleanup
...
Closes #3006
3 years ago
pukkandan
cf4f42cb97
Protect stdout from unexpected progress and console-title
...
Closes #3023
3 years ago
MMM
10331a2672
Fix `--print` with `--ignore-no-formats` when url is `None` ( #3000 )
...
Authored by: flashdagger
3 years ago