Commit Graph

311 Commits (f00c0def7434fac3c88503c2a77c4b2419b8e5ca)

Author SHA1 Message Date
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
pukkandan 560738f34d
[extractor] Import `_ALL_CLASSES` lazily
This significantly speeds up `import yt_dlp` in the absence of `lazy_extractors`
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 8a82af3511
[cleanup] Misc fixes and cleanup
Closes , Closes , Closes 
pukkandan c487cf0010
[cleanup] Misc
pukkandan 21633673c3
[cleanup] Minor fixes
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 8dcce6a89c
[extractor] Document netrc machines
Closes 
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 1d485a1a79
[cleanup] Misc fixes
Closes , https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
pukkandan c171445431
[cleanup,build] Cleanup some build-related code
Fixes an issue in 7ab56be2c7
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor ()
pukkandan b6dc37fe2a
[test] Convert warnings into errors
* And fix some existing warnings

Authored by: fstirlitz
pukkandan e5a998f368
[cleanup] Misc cleanup ()
Authored by: fstirlitz, pukkandan
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
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
felix ab96d1ad1b
[cleanup] Remove unused scripts/tests ()
Authored by fstirlitz, pukkandan
pukkandan 231025c463
Fix bug in 52efa4b312
Closes 
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes , closes , closes , closes 
pukkandan b440e1bb22
[devscripts] Improve `prepare_manpage`
Closes 
pukkandan b69fd25c25
[cleanup] Misc cleanup
Closes     
pukkandan 0fcba15d57
[docs] Fix bug in regex escape in python 3.6
Bug in ec2e44fc57
Closes 
chris ec2e44fc57
[docs] Improve manpage format ()
Closes 
Authored by: iw0nderhow, pukkandan
pukkandan 2c4aaaddc9
[lazy_extractors] Fix for search IEs
Closes 
pukkandan 75b725a7cc
[build] Use `workflow_dispatch` for release
pukkandan 36eaf3039a
[build] Save Git HEAD at release alongside version info
pukkandan 96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
and some minor cleanup of docs
pukkandan 49a57e70a9
[cleanup] misc
Ákos Sülyi a387b69a7c
[devscripts/run_tests] Use markers to filter tests ()
`-k` filters using a substring match on test name.
`-m` checks markers for an exact match.
Authored by: sulyi
timethrow 8c6f4daa4c
[docs] Write embedding and contributing documentation ()
Authored by: pukkandan, timethrow
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs
The Hatsune Daishi b8773e63f0
[build] Add homebrew taps ()
https://github.com/yt-dlp/homebrew-taps
Closes: , 
Authored by: nao20010128nao
pukkandan 8b7491c8d1
Fix `add_info_extractor` when used via API
Bug from: 251ae04e6a
pukkandan 251ae04e6a
[lazy_extractor] Create instance only after pre-checking archive
pukkandan 5bc4a65eea
[lazy_extractor] Import actual class if an attribute is accessed
Now all core tests pass with lazy extraction enabled
pukkandan 3fb4e21b38
[lazy_extractors] Fix `suitable` and add flake8 test
pukkandan 5ad28e7ffd
[extractor] Common function `_match_valid_url`
Kid 5c333d7496
[lazy_extractor] Bugfix for when plugin directory doesn't exist ()
Bug introduced by: 0b2e9d2c30

Authored by: kidonng
pukkandan b868936cd6 [cleanup] Misc
pukkandan 1aebc0f79e
Add logo and banner
pukkandan 060ac76257
[test] Use `pytest` instead of `nosetests` ()
`nosetests` is no longer being maintained : https://github.com/nose-devs/nose/issues/1099
and will stop working in py 3.10 as can be seen in 
pukkandan 9d83ad93d0
[cleanup] Mark unused files
felix cc52de4356
[cleanup] Point all shebang to `python3` ()
Authored by: fstirlitz
pukkandan 0b2e9d2c30
[lazy_extractor] Do not load plugins
hseg da7f321e93
Fix packaging bugs ()
* Autogenerate `AUTHORS`
* Fix `setup.py` using wrong completion files
* Complete `ChangeLog` -> `Changelog.md` rename
* Make `make tar` respect DESTDIR
* Remove `bin/` `yt-dlp` and `docs/` from tar and sdist
* Make `pypi-files` build all files needed for `python setup.py`
* Add `completions` alias
* Add `devscripts/` and `supportedsites.md` to pip sdist
* Remove `man` target
* Remove `README.txt` from sdist
* Make `clean` more granular
* Move aliases to top

Authored by: hseg <gesh@gesh.uni.cx>
hseg 359d6d8650 Fix completion paths, zsh pip completion install
Closes: , 
Pccode66 7a5c1cfe93
Completely change project name to yt-dlp ()
* 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
pukkandan f3b7c69377 [version] Set version number based on UTC time, not local time
pukkandan b3943b2f33 [pyinst.py] Move back to root dir (Closes )
shirt-dev 3dd264bf42
Implement self updater
Co-authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com> (shirt-dev)
Co-authored-by: pukkandan <pukkandan@gmail.com>
pukkandan 06ff212d64 [documentation] Crypto is an optional dependency
pukkandan ff88a05cff [pyinst] Automatically detect python architecture and working directory
:ci skip all
pukkandan e38df8f9fa Refactor `update-version`, `pyinst.py` and related files
* Refactor update-version
* Moved pyinst, update-version and icon into devscripts
* pyinst doesn't bump version anymore
* Merge pyinst and pyinst32. Usage: `pyinst.py [32|64]`
* Add mutagen as requirement
* Remove make_win and related files
pukkandan 66c935fb16 Linter and misc cleanup
:ci skip dl
alxnull 0c3d0f5177 Added `--force-overwrites` option (https://github.com/ytdl-org/youtube-dl/pull/20405)
Co-authored by alxnull
Alex Merkel ab8e5e516f Add post_hooks option to YoutubeDL.py (https://github.com/ytdl-org/youtube-dl/pull/27573)
Authored by: alexmerkel
pukkandan c76eb41bb9 Preparing for release
pukkandan 8bdd16b499 Merge 'ytdl-org/youtube-dl/master' release 2020.11.19
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
Tom-Oliver Heidel cd93279de8 Merge branch 'ext/remuxe-video' of https://github.com/Zocker1999NET/youtube-dl into Zocker1999NET-ext/remuxe-video
Unknown 139cb94276 flake8 hotfix
Unknown e367127957 [skip travis] minor fixes
Unknown 3fba008111 [skip travis] tweaks
Unknown cefecac12c [skip travis] renaming
to avoid using same folder when using pip install for example
Felix Stupp efe87a10ae
Added --remux-video option
Fixes 

- Supported formats declared: mp4, mkv
- Added FFmpegVideoRemuxerPP as postprocessor
- Added option to README and shell-completion scripts
nmeum 259ad38173 [devscripts/create-github-release] Remove unused import
Sergey M․ 0d5c415e1f
[devscripts/create-github-release] Switch to using PAT for authentication
Basic authentication will be deprecated soon
Sergey M․ 3089bc748c
Fix W504 and disable W503 (closes )
Sergey M․ 6f366ef30c
Issue template overhaul
Sergey M․ 067aa17edf
Start moving to ytdl-org
Sergey M․ f7560859a3
[devscripts/update-copyright] Update copyright year
Sergey M․ d3711b0050
[devscripts/gh-pages/generate-download.py] Use program checksum from versions.json
Sergey M․ 7a6c204fcb
[travis] Add Jython build
Yen Chi Hsuan 82a62de192 [Makefile,devscripts/run_tests.sh] Actually exclude network tests
Closes 
Kareem Moussa 8a1a60d173 [devscripts/check-porn] Fix gettestcases import
Yen Chi Hsuan 473e87064b
[devscripts/prepare_manpage] Fix deprecated escape sequence on py36
Sergey M․ 19f3821821
[devscripts/make_lazy_extractors] Fix making lazy extractors on python 3 under Windows
Sergey M․ 0f3d41b44d
[devscripts/run_tests] Exclude youtube lists tests from core build
Yen Chi Hsuan 8936f68a0b
[travis] Run tests in parallel
[test_download] Print test names in case of network errors

[test_download] Add comments for nose parameters

[test_download] Modify outtmpl to prevent info JSON filename conflicts

Thanks @jaimeMF for the idea.

[travis] Only download tests should be run in parallel
Anisse Astier 099cfdb770 [devscripts/run_tests.sh] Change permission for script to 755
Sergey M․ 1e2c3f61fc
[travis] Separate builds for core and download
Chris Gavin 490da94edf [devscripts/buildserver] Remove unreachable except block
Sergey M․ 689f31fde5
[devscripts/create-github-release] Fill release body from ChangeLog (closes )
Yen Chi Hsuan 582be35847
Update coding style after pycodestyle 2.1.0
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 ; thanks @stepshal for first mentioning this issue and
initial patches
Déstin Reed dcdb292fdd
Unify coding cookie
Sergey M․ fc150cba1d
[devscripts/release.sh] Add missing fi
Sergey M․ eb87d4545a
[devscripts/release.sh] Add ChangeLog reminder prompt
Sergey M․ cc9c8ce5df
[devscripts/prepare_manpage] Fix description strings starting with dash (Closes )
Yen Chi Hsuan 35aa6c538f Add ChangeLog
Sergey M․ 7935926baa
[devscripts/show-downloads-statistics] Add support for paging
Yen Chi Hsuan 9d865a1af6
[travis] Skip downloading srelay
SOCKS tests never run on Travis CI due to unknown reasons, and
downloading them broke some tests (e.g.
https://travis-ci.org/rg3/youtube-dl/builds/144306425)
Philipp Hagemeister 381ff44756 [devscripts/generate-download] Remove MD5 and SHA1
Sergey M․ bf3ae6a543
[devscripts/show-downloads-statictics] Add script for displaying downloads statistics
Jaime Marquínez Ferrándiz 169d836feb lazy-extractors: Fix after commit 6e6b9f600f
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.
Sergey M․ 4cef70db6c
[devscripts/release.sh] Add flag for gpg-sign commits
Sergey M․ db59b37d0b
[devscripts/create-github-release] Make full published releases by default
Sergey M․ 39b32571df
[devscripts/release.sh] Release to GitHub
Sergey M․ db56f281d9
[devscripts/create-github-release] Add script for releasing on GitHub
Yet only Basic authentication is supported either via .netrc or by manual input
Sergey M․ e92b552a10
[devscripts/buildserver] Use compat_input from compat