Commit Graph

1161 Commits (8a3da4c68c1bf50ba69af10ea7855e2f7a2b38b4)

Author SHA1 Message Date
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs 3 years ago
pukkandan 91dd88b90f
[outtmpl] Alternate form of format type `l` for `\n` delimited list 3 years ago
pukkandan 524e2e4fda
[outtmpl] Format type `U` for unicode normalization 3 years ago
pukkandan ff1c7fc9d3
Allow `0` in `--playlist-items` 3 years ago
pukkandan 1b629e1b4c
[test/cookies] Improve logging 3 years ago
Ákos Sülyi 09906f554d
[aes] Add `aes_gcm_decrypt_and_verify` (#1020)
Authored by: sulyi, pukkandan
3 years ago
Nil Admirari c6af2dd8e5
[SponsorBlock] Improve merge algorithm (#999)
Authored by: nihil-admirari
3 years ago
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes #899, #1004
3 years ago
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes #935
Related: #938
3 years ago
pukkandan f5aa5cfbff
Add format type `B` for outtmpl to treat the value as bytes
This is useful to limit the filename to a certain number of bytes rather than characters
Closes #1003
3 years ago
coletdjnz a7e999beec
[pbs] Fix subtitle extraction (#813)
Original PR: https://github.com/ytdl-org/youtube-dl/pull/24430, https://github.com/ytdl-org/youtube-dl/pull/17434
Closes: #836, https://github.com/ytdl-org/youtube-dl/issues/18796, https://github.com/ytdl-org/youtube-dl/issues/17273
Authored-by: coletdjnz, gesa, raphaeldore
3 years ago
Nil Admirari 7a340e0df3
Native SponsorBlock implementation and related improvements (#360)
SponsorBlock options:
* The fetched sponsor sections are written to infojson
* `--sponsorblock-remove` removes specified chapters from file
* `--sponsorblock-mark` marks the specified sponsor sections as chapters
* `--sponsorblock-chapter-title` to specify sponsor chapter template
* `--sponsorblock-api` to use a different API

Related improvements:
* Split `--embed-chapters` from `--embed-metadata`
* Add `--remove-chapters` to remove arbitrary chapters
* Add `--force-keyframes-at-cuts` for more accurate cuts when removing and splitting chapters

Deprecates all `--sponskrub` options

Authored by: nihil-admirari, pukkandan
3 years ago
animelover1984 abafce59a1
[Niconico] Add Search extractors (#672)
Authored by: animelover1984, pukkandan
3 years ago
coletdjnz 0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` (#765)
Closes #692 
Authored by: coletdjnz
3 years ago
pukkandan 4dfbf8696b
[utils] Add `parse_qs` 3 years ago
pukkandan 9e598870dd
Fix `playlist_index` not obeying `playlist_start`
and add tests
Closes #720
3 years ago
pukkandan 8f18aca871
Let `--match-filter` reject entries early
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
3 years ago
pukkandan ad3dc496bb Misc fixes - See desc
* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for #517
3 years ago
pukkandan e9f4ccd19e
Add option `--replace-in-metadata` 3 years ago
pukkandan b868936cd6 [cleanup] Misc 3 years ago
pukkandan 243c57cfe8 [tests:download] Add batch testing for extractors
Use `test_YourExtractor_all` to invoke them
3 years ago
pukkandan 2b8a2973bd Allow entire infodict to be printed using `%()s`
Makes `--dump-json` redundant
3 years ago
pukkandan 6e84b21559
Fix bugs related to `sanitize_info`
Related: 8012d892bd (r54555230)
3 years ago
pukkandan a047eeb6d2
Add regex to `--match-filter`
This does not fully deprecate `--match-title`/`--reject-title`
since `--match-filter` is only checked after the extraction is complete,
while `--match-title` can often be checked from the flat playlist.

Fixes: https://github.com/ytdl-org/youtube-dl/issues/9092, https://github.com/ytdl-org/youtube-dl/issues/23035
3 years ago
Max Teegen 77b87f0519 Add all format filtering operators also to `--match-filter`
PR: https://github.com/ytdl-org/youtube-dl/pull/27361

Authored by: max-te
3 years ago
pukkandan 0855702f3f
[test:download] Support testing with `ignore_no_formats_error` 3 years ago
pukkandan e0f2b4b47d
[utils] Fix slicing of reversed `LazyList`
Closes #589
3 years ago
pukkandan 7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
Closes #345
3 years ago
pukkandan 901130bbcf Expand and escape environment variables correctly in outtmpl
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
3 years ago
pukkandan 052e135029
[youtube] Simplify `_get_text` early 3 years ago
pukkandan 060ac76257
[test] Use `pytest` instead of `nosetests` (#482)
`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 #480
3 years ago
Matt Broadway 982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser (#488)
* also adds `--no-cookies-from-browser`

Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
3 years ago
felix c843e68588
[utils] Improve `js_to_json` comment regex
Capture the newline character as part of a single-line comment

From #497, Authored by: fstirlitz
3 years ago
pukkandan b5ac45b197
Fix selectors `all`, `mergeall` and add tests
Bug from: 981052c9c6
3 years ago
pukkandan 981052c9c6 Some minor fixes and refactoring (see desc)
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
3 years ago
pukkandan 9fea350f0d
Fix id sanitization in filenames
Closes #415
3 years ago
pukkandan 28419ca2c8
[utils] Improve `LazyList`
* Add `repr` and `str` that mimics `list`
* Add `reversed`. Unlike `[::-1]`, reversed does not exhaust the iterable and modifies the `LazyList` in-place
* Add tests
3 years ago
pukkandan 187986a857
Better error handling of syntax errors in `-f` 3 years ago
pukkandan 385a27fad1
Improve offset parsing in outtmpl 3 years ago
pukkandan 5c6542ce69
[test] More rigorous tests for `prepare_filename`
All tests of `prepare_outtmpl` is now also run on `prepare_filename`
3 years ago
pukkandan 639f1cea92
Fix `%d` and empty default in outtmpl
Closes #388
3 years ago
pukkandan aa75e51f99
[build] Build Windows x86 version with py3.8
and remove redundant tests
:ci skip

Ao-authored by: pukkandan, shirt-dev
3 years ago
pukkandan 76a264ac9e
Make outtmpl more robust and catch errors early 3 years ago
pukkandan 87ea7dfc04
Fix filename sanitization
Bug from 752cda3880
3 years ago
pukkandan 752cda3880
Fix and refactor `prepare_outtmpl`
The following tests would have failed previously:
%(id)d %(id)r
%(ext)s-%(ext|def)d
%(width|)d
%(id)r %(height)r
%(formats.0)r
%s
3 years ago
pukkandan 9d83ad93d0
[cleanup] Mark unused files 3 years ago
felix cc52de4356
[cleanup] Point all shebang to `python3` (#372)
Authored by: fstirlitz
3 years ago
pukkandan bc6b9bcd65
[utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
d2558234cf added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL.
Eg: When using `yt-dlp "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
4 years ago
pukkandan 337e0c62f8
[embedthumbnail] Correctly escape filename
Closes #352
The approach in [1] is faulty as can be seen in the test cases
1. bff857a8af
4 years ago
pukkandan c77495e3a4
[cleanup] `_match_entry` 4 years ago
pukkandan 177877c544
[extractor] Always prefer native hls downloader by default
When the manifest is not downloadable by native downloader, it already is able to detect it and switch to `ffmpeg`. So there doesn't seem to be a reason anymore to use ffmpeg as the preferred downloader
4 years ago
Hubert Hirtz 5435dcf96e
Handle Basic Auth `user:pass` in URLs
Fixes https://github.com/ytdl-org/youtube-dl/issues/20258, https://github.com/ytdl-org/youtube-dl/issues/26211
Authored by: hhirtz, pukkandan
4 years ago
pukkandan af32f40bf5
[test] Fix `test_YoutubeDL.TestYoutubeDL`
Test `test_ignoreerrors_for_playlist_with_url_transparent_iterable_entries` was broken due to `__original_infodict` being added to the dict
4 years ago
pukkandan da692b7920
[cleanup] youtube tests 4 years ago
pukkandan 6911e11edd
[test:download] Only extract enough videos for `playlist_mincount` 4 years ago
Felix S 5fbcebed8c [test] Test SSTR manifest parsing 4 years ago
Felix S becdc7f82c [test] Test subtitle extraction from DASH manifests 4 years ago
Felix S 73b9088a1c [test] Test subtitle extraction from HLS manifests 4 years ago
Felix S a0c3b2d5cf [extractor/common] Extract HLS subtitle tracks
_extract_m3u8_formats is renamed to _extract_m3u8_formats_and_subtitles
and extended to handle subtitle tracks instead of skipping them;
a wrapper with the old name is provided for compatibility.

_parse_m3u8_formats is likewise renamed and extended, but without adding
the compatibility wrapper; the test suite is adjusted to test the enhanced
method instead.
4 years ago
pukkandan 1bdae7d312
Update to ytdl-commit-7e8b3f9
[youtube] Remove unused code
7e8b3f9439
4 years ago
pukkandan a439a3a45c
Improve output template (see desc)
* Objects can be traversed like `%(field.key1.key2)s`
* A number can be added to the field as `%(field+n)s`
* Deprecates `--autonumber-start`
4 years ago
pukkandan a3faeb7de4
[MetadataFromField] Improve regex and add tests 4 years ago
pukkandan c32b0aab8a
Improve --sub-langs (see desc)
* Treat `--sub-langs` entries as regex
* `all` can be used to refer to all the subtitles
* the language code can be prefixed with `-` to exclude it
* Deprecates `--all-subs`
Closes #253
4 years ago
pukkandan a7191c6f57
Fix some linter and typos 4 years ago
colethedj 9e62f283ff
[utils] Add `datetime_from_str` to parse relative time (#221)
and `datetime_add_months` to accurately add/subtract months

Authored by: colethedj
4 years ago
pukkandan 84601bb72b
Ability to set a specific field in the file's metadata
Eg: `--parse-metadata "description:(?s)(?P<meta_comment>.+)"`
sets the "comment" field using `description`
4 years ago
pukkandan cd7c66cf01
[youtube] Fix history, trending and mix playlists (#136)
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: Matthew <colethedj@protonmail.com>
4 years ago
Pccode66 7a5c1cfe93
Completely change project name to yt-dlp (#85)
* 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
4 years ago
shirt-dev 310c2ed2c6
Better support HLS media discontinuity and fully support media initialization (#105)
* Added options: `--hls-split-discontinuity` and `--no-hls-split-discontinuity`

Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com>
4 years ago
pukkandan bc2ca1bb75 Update to ytdl-commit-cf2dbec
cf2dbec630

Except: [kakao] improve info extraction and detect geo restriction
d8085580f6
4 years ago
pukkandan cc2db87805 Update to ytdl-2021.02.10
Except: [archiveorg] Fix and improve extraction (5fc53690cbe6abb11941a3f4846b566a7472753e)
4 years ago
shirt-dev 3dd264bf42
#64 Implement self updater
Co-authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com> (shirt-dev)
Co-authored-by: pukkandan <pukkandan@gmail.com>
4 years ago
pukkandan 545cc85d11 [youtube] Update to ytdl-2021.02.04.1 4 years ago
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
4 years ago
pukkandan 5bfa486205 Add option `--parse-metadata`
* The fields extracted by this can be used in `--output`
* Deprecated `--metadata-from-title`

:ci skip dl
4 years ago
Remita Amine a820dc722e Update to ytdl-2021.01.24.1 4 years ago
pukkandan 610d8e7692 [tests] Fix test_post_hooks
:skip ci all
4 years ago
alxnull 0c3d0f5177 Added `--force-overwrites` option (https://github.com/ytdl-org/youtube-dl/pull/20405)
Co-authored by alxnull
4 years ago
pukkandan ebdd9275c3 Enable test_youtube_search_matching
I forgot to enable this when the search url extractor was reinstated
4 years ago
Alex Merkel ab8e5e516f Add post_hooks option to YoutubeDL.py (https://github.com/ytdl-org/youtube-dl/pull/27573)
Authored by: alexmerkel
4 years ago
pukkandan 00dd0cd573 Update to ytdl-2021.01.08 4 years ago
pukkandan 5d0c537141 Fix/disable tests
The disabled tests needs to be fixed later
Tests for FormatSort, Multistreams also needs be created
4 years ago
pukkandan 29f7c58aaf Update to ytdl-2021.01.03 4 years ago
pukkandan 2d30509fc8 Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
4 years ago
pukkandan 732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
4 years ago
pukkandan 3d3dddc948 Update youtube extractor to 2020.11.24 4 years ago
pukkandan a0566bbf5c Updated to release 2020.11.21.1 4 years ago
pukkandan 3462ffa892 Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL 4 years ago
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
4 years ago
Unknown dd2d55f10d COMPLAINFREE 4 years ago
Unknown cdb7547e14 add pyinst to test exceptions 4 years ago
Unknown 39e7107d7f Merge branch 'ytdl-org-master' 4 years ago
Tom-Oliver Heidel 9aa79d6460 Merge branch 'master' of https://github.com/zubearc/youtube-dl into zubearc 4 years ago
zubearc 8848f8083b [test/youtube] update subtitle tests 4 years ago
Unknown 8ef153ee6f rot47 capital letters. 4 years ago
Unknown 3867038a06 renaming issues resolved 4 years ago
Unknown cefecac12c [skip travis] renaming
to avoid using same folder when using pip install for example
4 years ago
Sergey M․ 84213ea8d4
[youtube] Extract chapters from JSON (closes #24819) 5 years ago
Sergey M․ c380cc28c4
[utils] Improve cookie files support
+ Add support for UTF-8 in cookie files
* Skip malformed cookie file entries instead of crashing (invalid entry len, invalid expires at)
5 years ago
Sergey M․ e40c758c2a
[youtube] Improve player id extraction and add tests 5 years ago
Sergey M․ 042b664933
Revert "[utils] Add support for cookies with spaces used instead of tabs"
According to [1] TABs must be used as separators between fields.
Files produces by some tools with spaces as separators are considered
malformed.

1. https://curl.haxx.se/docs/http-cookies.html

This reverts commit cff99c91d1.
5 years ago
Sergey M․ cff99c91d1
[utils] Add support for cookies with spaces used instead of tabs 5 years ago
Sergey M․ ea17979d83
[test_subtitles] Remove obsolete test 5 years ago
Sergey M․ 4e9e1e240d
[test_YoutubeDL] Add tests for #10591 (closes #23873) 5 years ago
Sergey M․ e0abaab293
[test_YoutubeDL] Fix get_ids 5 years ago
Sergey M․ 42db58ec73
[utils] Improve str_to_int 5 years ago
Remita Amine 348c6bf1c1 [utils] handle int values passed to str_to_int 5 years ago
Sergey M․ 1ced222120
[utils] Add generic caesar cipher and rot47 5 years ago
InfernalUnderling 9d30c2132a [utils] Handle rd-suffixed day parts in unified_strdate (#23199) 5 years ago
Remita Amine 237513e801 [yahoo] restore support for cbs suffixed URLs 5 years ago
Sergey M․ 824fa51165
[utils] Improve subtitles_filename (closes #22753) 5 years ago
Sergey M․ 28cc2241e4
[utils] Restrict parse_codecs and add theora as known vcodec (#21381) 6 years ago
Sergey M․ 53cd37bac5
[utils] Improve strip_or_none 6 years ago
Sergey M․ 3089bc748c
Fix W504 and disable W503 (closes #20863) 6 years ago
Jakub Wilk fd35d8cdfd [utils] Transliterate "þ" as "th" (#20897)
Despite visual similarity "þ" is unrelated to "p".
It is normally transliterated as "th":

    $ echo þ-Þ | iconv -t ASCII//TRANSLIT
    th-TH
6 years ago
Sergey M․ 5e1271c56d
[utils] Improve int_or_none and float_or_none (#20403) 6 years ago
Sergey M․ d493f15c11
[extractor/common] Improve HTML5 entries extraction and add some realworld tests 6 years ago
Sergey M․ 0dc41787af
[utils] Introduce parse_bitrate 6 years ago
Sergey M․ 2e27421c70
[test_InfoExtractor] Add test for #20346 6 years ago
Sergey M․ 067aa17edf
Start moving to ytdl-org 6 years ago
Sergey M․ fca9baf0da
[test] Fix test_compat_etree_Element 6 years ago
Sergey M․ 399f76870d
[compat] Introduce compat_etree_Element 6 years ago
remitamine e7e62441cd [utils] strip #HttpOnly_ prefix from cookies files (#20219) 6 years ago
Ales Jirasek 22f5f5c6fc
[malltv] Add extractor (closes #18058) 6 years ago
Sergey M․ e118a8794f
[YoutubeDL] Fix typo in string negation implementation and add more tests (closes #18961) 6 years ago
Sergey M․ fad4ceb534
[utils] Fix urljoin for paths with non-http(s) schemes 6 years ago
Remita Amine fc746c3fdd [test/test_InfoExtractor] add test for #18923 6 years ago
Sergey M․ 2cc779f497
[YoutubeDL] Add negation support for string comparisons in format selection expressions (closes #18600, closes #18805) 6 years ago
Sergey M․ a16c7c033a
[test/helper] Add support for maxcount and count collection len test checkers 6 years ago
Sergey M․ 6e29458f24
[test/testdata/cookies/session_cookies.txt] Fix empty expires test data 6 years ago
Sergey M․ 9e02c2c704
[YoutubeDLCookieJar] Add test for keeping session cookies 6 years ago
Sergey M․ 6864855eb1
[tests] Fix invalid escape sequences 6 years ago
Xiao Di Guan 95e42d7336 [extractor/common] Ensure response handle is not prematurely closed before it can be read if it matches expected_status (resolves #17195, closes #17846, resolves #17447) 6 years ago
Sergey M․ 25d110be30
[utils] Properly recognize AV1 codec (closes #17506) 6 years ago
Sergey M․ af03000ad5
[utils] Introduce url_or_none 6 years ago
Sergey M․ e9c671d5e8
[utils] Allow JSONP with empty func name (closes #17028) 6 years ago
Enes 85750f8972 [openload] Improve ext extraction 7 years ago
Remita Amine 3bb3ff38a1 [test_utils] add tests for b836118724 7 years ago
Sergey M․ 6cc622327f
[utils] Introduce merge_dicts 7 years ago
Sergey M․ 1cc47c6674
[utils] Fix match_str for boolean meta fields 7 years ago
Dan Salmon 518d5ba519 Fix some tests 7 years ago
Sergey M․ 47a5cb7734
Generalize XML manifest processing code and improve XSPF parsing (closes #15794) 7 years ago
Ricardo Constantino 96b8b9abae
[extractor/generic] Support relative URIs in _parse_xspf
<location> can have relative URIs, not just absolute.
7 years ago
Philipp Hagemeister f226880c6d [tennistv] Add support for tennistv.com 7 years ago
Sergey M․ b871d7e954
[utils] Add parse_resolution 7 years ago
Sergey M․ befa4708fd
[utils] Fixup some common URL's typos in sanitize_url (closes #15649) 7 years ago
Sergey M․ 6fcc053947
[test_downloader_http] Use try_rm 7 years ago
Sergey M․ f19eae429a
[test_http] Use 127.0.0.1 instead of localhost 7 years ago
Sergey M․ ba515388b8
Introduce --http-chunk-size 7 years ago
squibbysquibby 655c410063 [test_download] Fix download tests for lazy extractors (closes #13554, closes #13757) 7 years ago