| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Closes #5541
|
|
|
|
| |
Closes #4987, Closes #4906, Closes #4919, Closes #4977, Closes #4979
|
|
|
| |
Authored by: josanabr
|
|
|
|
|
|
| |
and add test
Fixes https://github.com/yt-dlp/yt-dlp/pull/3234#issuecomment-1225347071
|
| |
|
| |
|
|
|
| |
Authored by: lamby
|
| |
|
|
|
|
| |
This significantly speeds up `import yt_dlp` in the absence of `lazy_extractors`
|
| |
|
| |
|
|
|
|
|
|
| |
and refactor lazy extractors accordingly.
This reduces the need to create extractor instances
|
|
|
|
| |
Fixes an issue in 7ab56be2c7309a2d11d4ee28c71f8fb29da21ef7
|
|
|
|
| |
Authored by: fstirlitz, pukkandan
|
|
|
|
|
|
| |
Using https://github.com/PyCQA/isort
isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Closes #1851
|
| |
|
| |
|
|
|
|
| |
Bug from: 251ae04e6a057167e4eafaf8b7b565a984b48405
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Bug introduced by: 0b2e9d2c3051f2e1d79449adde3afbba3b5ec94f
Authored by: kidonng
|
|
|
|
| |
Authored by: fstirlitz
|
| |
|
|
|
|
|
|
|
|
|
| |
* All modules and binary names are changed
* All documentation references changed
* yt-dlp no longer loads youtube-dlc config files
* All URLs changed to point to organization account
Co-authored-by: Pccode66
Co-authored-by: pukkandan
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Old Extractors left behind:
VLivePlaylistIE
YoutubeSearchURLIE
YoutubeShowIE
YoutubeFavouritesIE
If removing old extractors, make corresponding changes in
docs/supportedsites.md
youtube_dlc/extractor/extractors.py
Not merged:
.github/ISSUE_TEMPLATE/1_broken_site.md
.github/ISSUE_TEMPLATE/2_site_support_request.md
.github/ISSUE_TEMPLATE/3_site_feature_request.md
.github/ISSUE_TEMPLATE/4_bug_report.md
.github/ISSUE_TEMPLATE/5_feature_request.md
test/test_all_urls.py
youtube_dlc/version.py
Changelog
|
|
|
| |
to avoid using same folder when using pip install for example
|
|
|
|
| |
under Windows
|
|
|
|
|
|
|
|
|
|
| |
In pycodestyle 2.1.0, E305 was introduced, which requires two blank
lines after top level declarations, too.
See https://github.com/PyCQA/pycodestyle/issues/400
See also #10689; thanks @stepshal for first mentioning this issue and
initial patches
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was in the following code:
class ArteTVPlus7IE(ArteTVBaseIE):
...
@classmethod
def suitable(cls, url):
return False if ArteTVPlaylistIE.suitable(url) else super(ArteTVPlus7IE, cls).suitable(url)
And its sublcasses like ArteTVCinemaIE.
Since in the lazy_extractors.py file ArteTVCinemaIE was not a subclass of ArteTVPlus7IE, super(ArteTVPlus7IE, cls) failed.
To fix it we have to make it a subclass. Since the order of _ALL_CLASSES is arbitrary we must sort them so that the base classes are defined first. We also must add base classes like YoutubeBaseInfoExtractor.
|
|
|
|
|
| |
* Sort extractors alphabetically
* Add newlines when needed (youtube_dl/extractors/lazy_extractors.py pass the flake8 test now)
|
| |
|
|
'make lazy-extractors' creates the youtube_dl/extractor/lazy_extractors.py (imported by youtube_dl/extractor/__init__.py), which contains simplified classes that only have the 'suitable' class method and that load the appropiate class with the '__new__' method when a instance is created.
|