Commit graph

20 commits

Author SHA1 Message Date
coletdjnz
97684b0f2c
Add --no-plugins 2024-10-20 14:06:33 +13:00
coletdjnz
109c019e8a
Add public functions to add custom external plugin paths 2024-10-20 12:48:02 +13:00
coletdjnz
21e13bfa84
Decouple plugins.py from plugin types 2024-10-20 11:59:29 +13:00
coletdjnz
a19dd28fdc
revert back to init_subclass, add guard against multiple imports of same plugin 2024-10-19 19:49:08 +13:00
coletdjnz
6547ff4335
minor refactoring 2024-10-19 16:55:23 +13:00
coletdjnz
3561d2a08f
load plugins in youtubedl if they haven't already 2024-10-19 16:52:53 +13:00
coletdjnz
cb9e38a797
Fix reloading 2024-10-19 16:40:16 +13:00
coletdjnz
413ae7693b
Make globals internal-only 2024-10-19 16:25:36 +13:00
coletdjnz
4266658602
Get plugin overrides working 2024-10-19 14:58:33 +13:00
coletdjnz
9f1f2c5410
fix 2024-10-19 14:05:58 +13:00
coletdjnz
3d939b68fe
Merge remote-tracking branch 'upstream/master' into misc/globals-and-plugins-revive
# Conflicts:
#	yt_dlp/YoutubeDL.py
#	yt_dlp/__init__.py
#	yt_dlp/options.py
#	yt_dlp/plugins.py
#	yt_dlp/postprocessor/__init__.py
#	yt_dlp/utils/_utils.py
2024-10-19 13:31:43 +13:00
Simon Sawicki
1a830394a2
[build] make_lazy_extractors: Force running without plugins (#11205)
Authored by: Grub4K
2024-10-13 03:50:31 +02:00
Jade Laurence Empleo
9a8afadd17
[plugins] Handle PermissionError (#9229)
Authored by: syntaxsurge, pukkandan
2024-02-20 14:37:37 +05:30
Simon Sawicki
25b921b02c
Merge with 'upstream/master' 2023-03-18 16:59:38 +01:00
pukkandan
b059188383
[plugins] Don't look in .egg directories
Closes #6306
2023-02-28 23:14:37 +05:30
pukkandan
88d8928bf7
[plugins] Fix zip search paths
Closes #6011
2023-01-20 23:35:34 +05:30
Simon Sawicki
8c297d184c Its lazy now at least? 2023-01-16 04:55:36 +01:00
Simon Sawicki
40f772c300 Rough demo 2023-01-07 08:19:13 +01:00
Simon Sawicki
773c272d66
Fix config locations (#5933)
Bug in 8e40b9d1ec
Closes #5953

Authored by: Grub4k, coletdjnz, pukkandan
2023-01-07 00:31:00 +05:30
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>
2023-01-01 04:29:22 +00:00