Commit Graph

1322 Commits (0fba08485b6445b72b5b63ae23ca2a73fa5d967f)

Author SHA1 Message Date
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
Sergey M․ c707b1d828
[test_utils] Add tests for malformed JSON handling in js_to_json 7 years ago
Mike Fährmann c384d537f8 [util] Improve scientific notation handling in js_to_json (closes #14789) 7 years ago
Sergey M․ 9d6ac71c27
[extractor/common] Fix extraction of DASH formats with the same representation id (closes #15111) 7 years ago
Sergey M․ b555ae9bf1
[utils] Add another date format pattern (#14999) 7 years ago
Sergey M․ 78593e294c
Add references for #14844 7 years ago
Petr Novak 41bf647e89
[extractor/common] Add support for DASH manifests with SegmentLists with bare SegmentURLs 7 years ago
Yen Chi Hsuan f58a506044 [test_InfoExtractor] Fix flake8 7 years ago
Sergey M․ d08dcd2dbd
[test_YoutubeDL] Fix typo (closes #14856) 7 years ago
Sergey M․ 181e381fda
[test_InfoExtractor] Add test for #14660 7 years ago
Sergey M․ 056653bbb1
[utils] Add support for zero years and months in parse_duration 7 years ago
Sergey M․ af0f74288d
[YoutubeDL] Improve _default_format_spec (closes #14461) 7 years ago
Sergey M․ cd6fc19ed7
[YoutubeDL] Ignore duplicates in --playlist-items
E.g. '--playlist-items 2-4,3-4,3' should result in '[2,3,4]', not '[2,3,4,3,4,3]'
7 years ago
Sergey M․ 86a15ed64b
[test_YoutubeDL] Add test for #14425 7 years ago
Yen Chi Hsuan 3869028ffb [utils] Use bytes-like objects in dfxp2srt
This fixes handling of non-UTF8 TTML subtitles

Closes #14191
7 years ago
Yen Chi Hsuan 95f3f7c20a
[utils] Fix unescapeHTML for misformed string like "&a&quot;" (#13935) 7 years ago
Sergey M․ 4850478543
[extractor/common] Add support for float durations in _parse_mpd_formats (closes #13919) 7 years ago
Sergey M․ 5b232f46dc
[utils] Skip missing params in cli_bool_option (closes #13865) 7 years ago
Sergey M․ 8cda78ef72
[test_YoutubeDL] Add a test for #10083 7 years ago
Yen Chi Hsuan 73095e013f
[options] Typo 7 years ago
Yen Chi Hsuan 905d18a7aa
[options] Correctly hide login info from debug outputs (#13696)
Iterate over opts instead of PRIVATE_OPTS for both performance and
correctness
7 years ago
Sergey M․ 0017d9ad6d
[YoutubeDL] Improve default format specification (closes #13704) 7 years ago
Sergey M․ 0396806f67
[YoutubeDL] Do not override id, extractor and extractor_key in url_transparent
All these meta fields must be borrowed from final extractor that actually performs extraction.
This commit fixes extractor id in download archives for url_transparent downloads. Previously, 'transparent' extractor was erroneously
used for extractor archive id, e.g. 'eggheadlesson 4n8ugwwj5t' instead of 'wistia 4n8ugwwj5t'.
7 years ago
Sergey M․ 15da37c7dc
[YoutubeDL] Don't expand env variables in meta fields (closes #13637) 7 years ago
Sergey M․ dee2ff1d81
[test_utils] Fix tests under Windows 7 years ago
Yen Chi Hsuan 609ff8ca19 [utils] Support attributes with no values in get_elements_by_attribute() 7 years ago
Sergey M․ b4a3d461e4
[utils] Handle HTMLParseError in extract_attributes (closes #13349) 8 years ago
Sergey M․ 2ae2ffda5e
[utils] Improve unified_timestamp 8 years ago
Sergey M․ 39d4c1be4d
[youtube] Improve chapters extraction (closes #13247) 8 years ago
Yen Chi Hsuan 5552c9eb0f
[utils] Recognize more patterns in strip_jsonp()
Used in Youku Show pages
8 years ago
Sergey M․ e4a75d7932
[test_youtube_chapters] PEP 8 8 years ago
Sergey M․ a57a8e9918
[test_youtube_chapters] Add coding cookie 8 years ago
Sergey M․ 9cafc3fd8b
[youtube] Extract chapters 8 years ago
Yen Chi Hsuan 0c26548601
[cda] Implement birthday verification (closes #12789) 8 years ago
Sergey M․ deef31955b
[utils] Improve unified_timestamp
Seen at http://zaq1.pl/video/xev0e
8 years ago
Tithen-Firion 9222d94510 [test_utils] Add one more clean_html test 8 years ago
Sergey M․ 30bb6ce1a4
[test_InfoExtractor] Fix test_parse_m3u8_formats 8 years ago
Tithen-Firion 374560f018 [test_download] Fix order when testing file's md5 8 years ago
Sergey M․ ff99fe529e
Don't list master m3u8 playlists in format list (closes #12832) 8 years ago
Sergey M․ 538eee7b6a
Add missing test m3u8 file 8 years ago
Sergey M․ ddd258f922
[test_InfoExtractor] Add m3u8 parsing test for NAME attribute in EXT-X-STREAM-INF tag 8 years ago
Sergey M․ cb2520802d
[extractor/common] Improve m3u8 extraction (closes #12211)
* Extract m3u8 parsing to separate method
* Improve rendition groups extraction
* Build stream name according stream GROUP-ID
* Ignore reference to AUDIO group without URI when stream has no CODECS
+ Add test coverage for parsing m3u8 from #11507, #11995, #12211 and twitch vod
8 years ago
Remita Amine 5b995f713b [utils] add support for ttml styles 8 years ago
Sergey M․ 51350db5a3
[test_YoutubeDL] Add test for #11163 8 years ago
Sergey M․ 364a69e8c6
[test_download] Fix testing playlists with single video and add comments 8 years ago
Sergey M․ 60e5016199
[test_download] Remove unused import 8 years ago
Sergey M․ c4d6fc6d65
[test_subtitles] Fix raiplay test 8 years ago
Sergey M․ 80b2fdf9ac
[test_download] Match info dicts against tests before matching info file 8 years ago
John Hawkinson 3bef10a50c [test_download] typo in comment 8 years ago
John Hawkinson a84da06f49 [test_download] Improve diagnostic on wrong 'id' 8 years ago
Sergey M․ 942b44a052
[test_compat] Do not use dash in env variables' names 8 years ago
Sergey M․ a426ef6d78
[test_utils] Do not use dash in env variables' names 8 years ago
Sergey M․ 41c5e60dd5
[test_utils] Fix expand_path tests 8 years ago
Sergey M․ 51098426b8
[utils] Introduce expand_path 8 years ago
John Hawkinson c6c22e984d [test_download] Print additional IEs in summary output 8 years ago
Sergey M․ 7f3590c43b
[test_InfoExtractor] Add some realworld tests for _extract_jwplayer_data 8 years ago
Sergey M․ 4b5de77bdb
[utils] Process bytestrings in urljoin (closes #12369) 8 years ago
Yen Chi Hsuan f48409c7ac [utils] Add pkcs1pad
Used in daisuki.net (#4738)
8 years ago
Yen Chi Hsuan c9619f0a17 [aes] Add aes_cbc_encrypt
Used in daisuki.net (#4738)
8 years ago
Sergey M․ d0d9ade486 [YoutubeDL] Add support for string formatting operations in output template 8 years ago
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
8 years ago
Sergey M․ 398dea3210
[test_YoutubeDL] Fix invalid escape sequences 8 years ago
Sergey M․ db13c16ef8
[utils] Add support for quoted string literals in --match-filter (closes #8050, closes #12142, closes #12144) 8 years ago
Thomas Christlieb 2af12ad9d2 Introduce get_elements_by_class and get_elements_by_attribute utility functions 8 years ago
Sergey M․ 4195096ea8
[utils] Improve comments processing in js_to_json (closes #11947) 8 years ago
Michal Čihař b3ee552e4b
[utils] Handle single-line comments in js_to_json 8 years ago
Sergey M․ 15846398ca
[utils] Improve parse_duration 8 years ago
Sergey M․ cb655f34fb
[utils] Add more date formats 8 years ago
Remita Amine 7fe1592073 [common] fix dash codec information for mixed videos and fragment url construction(#11490) 8 years ago
Sergey M․ b0c65c677f
[utils] Improve urljoin 8 years ago
Sergey M․ e34c33614d
[utils] Add convenience urljoin 8 years ago
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 #10689; thanks @stepshal for first mentioning this issue and
initial patches
8 years ago
Kacper Michajłow 189935f159 [jsinterp] Fix function calls without arguments. 8 years ago
Sergey M․ 02dc0a36b7
[utils] Introduce base_url 8 years ago
Sergey M․ e5a088dc4b
[utils] Fix --match-filter for int-like strings (closes #11082) 8 years ago
Yen Chi Hsuan 6f20b65e72
[test/test_http] Update tests
After switching to HTML5 extraction helpers in generic.py, the result
info_dict is always a playlist.
8 years ago
Sergey M․ c6eed6b8c0
[utils] Lower priority for rare date formats and add tests 8 years ago
Sergey M․ 3e4185c396
[utils] Use native french month names 8 years ago
Sergey M․ f6717dec8a
[utils] Improve month_by_name and add tests 8 years ago
Sergey M․ 6562d34a8c
[utils] Improve mimetype2ext 8 years ago
Yen Chi Hsuan 70852b47ca
[utils] Recognize units with full names in parse_filename
Reference: https://en.wikipedia.org/wiki/Template:Quantities_of_bytes
8 years ago
Yen Chi Hsuan e4659b4547
[utils] Correct octal/hexadecimal number detection in js_to_json 8 years ago
Sergey M․ 13585d7682
[utils] Recognize lowercase units in parse_filesize 8 years ago
Yen Chi Hsuan 52aa7e7476
[test_verbose_output] Fix tests under Python 3 8 years ago
Remita Amine 5f2c2b7936 [test_utils] add test for option with not str value 8 years ago
Sergey M․ a8795327ca
[utils] Add support TV Parental Guidelines ratings in parse_age_limit 8 years ago
Yen Chi Hsuan 7dc2a74e0a
[utils] Fix unified_timestamp for formats parsed by parsedate_tz() 8 years ago
Sergey M․ b070564efb
[extractor/common] Support multiple properties in _og_search_property 8 years ago
Philipp Hagemeister ce28252c48 [options] Add test that checks that --password=secret is hidden in verbose output 8 years ago
Yen Chi Hsuan 14a28e705b
[test/test_all_urls] Remove *.cc.com tests 8 years ago
Sergey M․ 317f7ab634
[YoutubeDL] Fix format selection with filters (Closes #10083) 8 years ago
Yen Chi Hsuan 0b68de3cc1 Merge pull request #8876 from remitamine/html5_media
[extractor/common] add helper method to extract html5 media entries
8 years ago
Yen Chi Hsuan dfe5fa49ae
[compat] Fix compat_shlex_split for non-ASCII input
Closes #9871
8 years ago
Yen Chi Hsuan 84c237fb8a
[utils] Add get_element_by_class
For #9950
8 years ago
Remita Amine dfaa86b75e [test_utils] add test for smuggling a smuggled url 8 years ago
Yen Chi Hsuan 40f3666f6b
[test/test_http] Update tests for 38cce791c7 8 years ago
Jaime Marquínez Ferrándiz a9eede3913
[test/compat] compat_shlex_split: test with newlines 8 years ago
Sergey M․ fd7a7498a4
[test_all_urls] PEP 8 and change wording 9 years ago
Matthieu Muffato e3a6747d8f
New test-case: extractor names are supposed to be unique
@dstftw explained in
https://github.com/rg3/youtube-dl/pull/9918#issuecomment-228625878 that
extractor names are supposed to be unique. @dstftw has fixed the two
offending extractors, and here I add a test to ensure this does not
happen in the future.
9 years ago
remitamine 4f3c5e0627 [utils] add helper function for parsing codecs 9 years ago
Sergey M․ 88d9f6c0c4
[utils] Add support for name list in _html_search_meta 9 years ago
Yen Chi Hsuan 1143535d76
[utils] Add urshift()
Used in IqiyiIE and LeIE
9 years ago
Sergey M․ 46f59e89ea
[utils] Add unified_timestamp 9 years ago
Yen Chi Hsuan 47212f7bcb
[utils] Don't transform numbers not starting with a zero
Fix test_Viidea and maybe others
9 years ago
Yen Chi Hsuan 55b2f099c0
[utils] Decode HTML5 entities
Used in test_Vporn_1. Also related to #9270
9 years ago
bzc6p b96f007eeb Added sanitization support for Hungarian letters Ő and Ű 9 years ago
Yen Chi Hsuan 54fb199681 [test/test_http] Fix getsockname() on Jython 9 years ago
Yen Chi Hsuan 8c32e5dc32 [test/test_utils] Add test for #9588 9 years ago
Yen Chi Hsuan eb7941e3e6
[compat] Fix for XML with <!DOCTYPE> in Python 2.7 and 3.2
Such XML documents cause DeprecationWarning if python is run
with `-W error`
9 years ago
Sergey M․ 46bc9b7d7c
[utils] Allow None in remove_{start,end} 9 years ago
Sergey M․ 364cf465dd
[test_utils] PEP 8 9 years ago
Sergey M․ 89ac4a19e6
[utils] Process non-base 10 integers in js_to_json 9 years ago
felix bd1e484448
[utils] js_to_json: various improvements
now JS object literals like { /* " */ 0: ",]\xaa<\/p>", } will be correctly converted to JSON.
9 years ago
Yen Chi Hsuan 98d560f205
[test/test_socks] Skip SOCKS tests
They occasional trigger errors or blocks
(https://travis-ci.org/rg3/youtube-dl/jobs/130184883)
9 years ago
Yen Chi Hsuan 778a1ccca7
[utils] Add Œ and œ found in French to ACCENT_CHARS
Fixes #9463
9 years ago
Yen Chi Hsuan c2876afafe
[test/test_socks] Use a different port range
Seems on Travis CI, ports in the original range are often used.
9 years ago
Yen Chi Hsuan e21f17fc86
[test/test_socks] Test with local SOCKS servers 9 years ago
Yen Chi Hsuan edaa23f822
[compat] Rename struct_(un)pack to compat_struct_(un)pack 9 years ago
Yen Chi Hsuan 72f3289ac4
[test/test_socks] Add tests for SOCKS proxies 9 years ago
Yen Chi Hsuan dab0daeeb0
[utils,compat] Move struct_pack and struct_unpack to compat.py 9 years ago
Sergey M․ fad7bbec3a
[test_compat] Remove unused import 9 years ago
Sergey M․ 20cfdcc910
[test_compat] Avoid None values for compat_setenv 9 years ago
Sergey M․ 1292638754
[test_compat] Use compat_setenv 9 years ago
Sergey M․ fe40f9eef2
[compat] Add compat_setenv 9 years ago
Adam Thalhammer 31c4448f6e Instead of replacing accented characters with an underscore when sanitizing file names in restricted mode, replace them with their non-accented equivalents fixes #9347 9 years ago
Adam Thalhammer 79a2e94e79 Instead of replacing accented characters with an underscore when sanitizing file names in restricted mode, replace them with their non-accented equivalents fixes #9347 9 years ago
Sergey M b6c0d4f431 Merge pull request #9110 from remitamine/parse_duration
[utils] imporove parse_duration to handle more formats
9 years ago
remitamine acaff49575 [utils] imporove parse_duration to handle more formats 9 years ago
Jaime Marquínez Ferrándiz 1b6182d8f7 [youtube:playlist] Fetch all the videos in a mix (fixes #3837)
Since there doesn't seem to be any indication, it stops when there aren't new videos in the webpage.
9 years ago
Jaime Marquínez Ferrándiz 6a801f4470 [test/InfoExtractors] add test for _download_json 9 years ago
Jaime Marquínez Ferrándiz eb9c3edd5e [test/utils] Add test for date_from_str 9 years ago
Yen Chi Hsuan 6c4c7539f2 [test/helper] Check got values to be strings for md5: fields
Seen in PBSIE tests
9 years ago
Yen Chi Hsuan 92d5477d84 [compat] Handle tuples properly in urlencode()
Fixes #9055
9 years ago
Sergey M․ e289d6d62c [test_compat] Add tests for compat_urllib_parse_urlencode 9 years ago
Yen Chi Hsuan 81f36eba88 [test/test_utils] Update for escape_url change (again) 9 years ago
Yen Chi Hsuan 2d60465e44 [test/test_utils] Update for escape_url change 9 years ago
Yen Chi Hsuan efbed08dc2 [utils] Encode hostnames before passing to urllib
With IDN (Internationalized Domain Name) and a proxy, non-ascii URLs
are passed down to urllib/urllib2, causing UnicodeEncodeError

Fixes #8890
9 years ago
Jaime Marquínez Ferrándiz 782b1b5bd1 [utils] lookup_unit_table: Match word boundary instead of end of string 9 years ago
Sergey M․ 4c3b16d5d1 [test_YoutubeDL] Add test for format_id format selection 9 years ago
Sergey M․ c5229f3926 [utils] PEP 8 9 years ago
remitamine 83548824c2 Merge pull request #8092 from bpfoley/twitter-thumbnail
[utils] Add extract_attributes for extracting html tag attributes
9 years ago
Sergey M․ fb47597b09 [bbc] Generalize unit table lookup and add parse_count 9 years ago
Sergey M․ e0dccdd398 [test_YoutubeDL] PEP 8 9 years ago
Sergey M․ 5d583bdf6c [YoutubeDL] Improve _format_note 9 years ago
remitamine 1255733945 Merge pull request #8739 from remitamine/update_url_params
[utils] add update_url_query function to create or update query string params
9 years ago
remitamine 3201a67f61 [test/test_utils] add more tests for update_url_query 9 years ago
remitamine fb640d0a3d [test/test_utils] add tests for update_url_query 9 years ago
Yen Chi Hsuan 429491f531 [test/http] Fix failure in Jython
make offlinetest passed on the latest Jython hg version with patched
lib-python/2.7/urllib2.py pulled from CPython 2.7.11
9 years ago
Yen Chi Hsuan e9c0cdd389 [jython] Introduce compat_os_name
os.name is always 'java' on Jython
9 years ago
Brian Foley 8bb56eeeea [utils] Add extract_attributes for extracting html tag attributes
This is much more robust than just using regexps, and handles all
the common scenarios, such as empty/no values, repeated attributes,
entity decoding, mixed case names, and the different possible value
quoting schemes.
9 years ago
Yen Chi Hsuan 5eb6bdced4 [utils] Multiple changes to base_n()
1. Renamed to encode_base_n()
2. Allow tables longer than 62 characters
3. Raise ValueError instead of AssertionError for invalid input data
4. Return the first character in the table instead of '0' for number 0
5. Add tests
9 years ago
Sergey M․ f160785c5c [utils] Remove AM/PM from unified_strdate patterns 9 years ago
Yen Chi Hsuan a4e4d7dfcd [test_iqiyi_sdk_interpreter] Add test for iQiyi login 9 years ago
Yen Chi Hsuan 5bc880b988 [utils] Add OHDave's RSA encryption function 9 years ago
Sergey M․ 86bf29050e [test_YoutubeDL] Make test pass until more intelligent sort formats (Closes #8462) 9 years ago
Sergey M․ 8411229bd5 [utils] Allow dot in strip_jsonp 9 years ago
Sergey M․ 86296ad2cd [utils] Add ability to control skipping false values in dict_get 9 years ago
Sergey M․ cbecc9b903 [utils] Add dict_get convenience method 9 years ago
remitamine 91cb6b5065 rename _parse_mpd to _parse_mpd_formats and add default value for mpd namespace 9 years ago
remitamine 920d21b9d3 [test_subtitles] update youtube subtitles tests 9 years ago
Yen Chi Hsuan 1df4141196 [test_YoutubeDL] Fix test_youtube_format_selection
Broken since a6c2c24479. Thanks to
@jaimeMF and @anisse for pointing that out
9 years ago
Yen Chi Hsuan b286f201a8 [YoutubeDL] Do not override ie_key in url_transparent 9 years ago
Yen Chi Hsuan 189d72d5fd [test_subtitles] Fix TestRaiSubtitles
RaiIE is renamed to RaiTVIE in 06d5556dfa
9 years ago
Yen Chi Hsuan a7aab0c23e [test_youtube_lists] Fix TestYoutubeLists.test_youtube_course
Youtube entries are now generators
9 years ago
Jaime Marquínez Ferrándiz 70029bc348 [youtube:user] Require 'https?://' in the url (fixes #8356)
It was matching www.youtube.com/embed/WpfukLMe1TM.
The generic extractor automatically adds http:// if it's missing.
9 years ago
dyn888 b913348d5f Test codec with a dot '.' in name selection. 9 years ago
Filippo Valsorda 4d318be195 [update] fix (unexploitable) BB'06 vulnerability in rsa_verify
The rsa_verify code was vulnerable to a BB'06 attack, allowing to forge
signatures for arbitrary messages if and only if the public key exponent is
3.  Since the updates key is hardcoded to 65537, there is no risk for
youtube-dl, but I don't want vulnerable code in the wild.

The new function adopts a way safer approach of encoding-and-comparing to
replace the dangerous parsing code.
9 years ago
Jaime Marquínez Ferrándiz e37afbe0b8 [YoutubeDL] urlopen: disable the 'file:' protocol (#8227)
If someone is running youtube-dl on a server to deliver files, the user could input 'file:///some/important/file' and youtube-dl would save that file as a video giving access to sensitive information to the user.
'file:' urls can be filtered, but the user can use an URL to a crafted m3u8 manifest like:

    #EXTM3U
    #EXT-X-MEDIA-SEQUENCE:0
    #EXTINF:10.0
    file:///etc/passwd
    #EXT-X-ENDLIST

With this patch 'file:' URLs raise URLError like for unknown protocols.
9 years ago
Jakub Wilk dfb1b1468c Fix typos
Closes #8200.
9 years ago
remitamine f11d00fa41 [test_subtitles] remove BlipTV test 9 years ago
Sergey M․ 6b77d52b1f [test_utils] Add tests for encode_compat_str 9 years ago
Yen Chi Hsuan db2fe38b55 [utils] Support alternative timestamp format in TTML
Fixes #7608
9 years ago
Yen Chi Hsuan d631d5f9f2 [utils] Fix TTML conversion
Tolerate invalid timestamps (closes #7909)
9 years ago
Sergey M․ 31b2051e21 [utils] Add remove_quotes 9 years ago
Jaime Marquínez Ferrándiz 47f48f5d85 [test/test_all_urls] Update pbs extractor name
It's in lowercase now (since e15e2ef7a0).
9 years ago
Sergey M․ 9cb9a5df77 [utils] Check ext with trailing slash against the list of known extensions 9 years ago
Sergey M․ 5035536e3f [test_utils] Add tests for determine_ext 9 years ago
Sergey M․ 7aefc49c40 [utils] Skip invalid/non HTML entities (Closes #7518) 9 years ago
Yen Chi Hsuan ff29bf81f8 [jsinterp] Support alternative function definition form 9 years ago
Yen Chi Hsuan 66d041f250 [test/subtitles] Add test for DemocracynowIE 9 years ago
Jaime Marquínez Ferrándiz 6a75040278 [utils] unified_strdate: Return None if the date format can't be recognized (fixes #7340)
This issue was introduced with ae12bc3ebb, it returned 'None'.
9 years ago
Sergey M 30eecc6a04 Merge pull request #7296 from jaimeMF/xml_attrib_unicode
Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x (…
9 years ago
Sergey M․ 578c074575 [utils] Support list of xpath in xpath_element 9 years ago
Sergey M․ 52c3a6e49d [utils] Improve parse_iso8601 9 years ago
Jaime Marquínez Ferrándiz f78546272c [compat] compat_etree_fromstring: also decode the text attribute
Deletes parse_xml from utils, because it also does it.
9 years ago
Jaime Marquínez Ferrándiz 387db16a78 [compat] compat_etree_fromstring: only decode bytes objects 9 years ago
Jaime Marquínez Ferrándiz 36e6f62cd0 Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x (#7178)
Attributes aren't unicode objects, so they couldn't be directly used in info_dict fields (for example '--write-description' doesn't work with bytes).
9 years ago
Jaime Marquínez Ferrándiz 65d49afa48 [test/test_download] Use extract_flat = 'in_playlist' for playlist items
Some playlist extractors return a 'url' result, which wouldn't be resolved.
9 years ago
Sergey M․ d01949dc89 [utils:js_to_json] Fix bad escape in double quoted strings 9 years ago
Sergey M․ 448ef1f31c [extractor/common] Allow angle brackets in attributes in _og_regexes (#7215) 9 years ago
Sergey M․ 8e5b121948 [test_youtube_lists] Add test flat playlist entries' titles 9 years ago
Sergey M․ db0a8ad979 [test_InfoExtractor] Add test for unquoted attribute 9 years ago
Sergey M․ 1c29e81e62 [test_InfoExtractor] Add test for 7a6d76a64d 9 years ago
Jaime Marquínez Ferrándiz 7d0ada5ff9 [test/helper] Fix style
Use the correct indentation to please flake8
9 years ago
Sergey M․ f88f1b40ce [test/helper] Clarify field for list length mismatch 9 years ago
Sergey M․ 386a7b52d5 [test/helper] Spelling 9 years ago
Sergey M․ 2e885de796 [test/helper] Formatting 9 years ago
Qijiang Fan 687c04cbb8 [test] use descriptive variable name 9 years ago
Qijiang Fan 40c931de4b [test] split expect_dict to two functions 9 years ago
Qijiang Fan 93bc7ef165 [test] recursively check dict and list in expect_info_dict
This allows to use md5:, re:, etc within the str inside a list
or dict.
9 years ago
Sergey M․ c6aa838b51 [youtube:history] Enable exractor 9 years ago
Jaime Marquínez Ferrándiz f005f96ea5 [youtube:history] Explain why it has disabled and skip test 9 years ago
remitamine c67a055d16 [test/test_write_annotations] fix test filename
Closes #6781
9 years ago
Sergey M․ 3513d41436 [test_compat] Fix typo 9 years ago
Sergey M․ ee087c79ad [test_compat] Add test for compat_shlex_split 9 years ago
Sergey M․ f71264490c [test_utils] Add tests for cli option converters 9 years ago
Sergey M․ 87f70ab39d [test_utils] Add more tests for xpath 9 years ago
Yen Chi Hsuan f908b74fa3 [test/subtitles] Add test for ThePlatformFeedIE 9 years ago
Sergey M․ 8e2b1be127 [test/helper] Make age_limit checkable field 9 years ago
Sergey M. d5d7bdaeb5 Merge pull request #6428 from dstftw/improve-generic-smil-support
Improve generic SMIL support
9 years ago
Jaime Marquínez Ferrándiz 232541df44 [YoutubeDL] format spec: correctly handle dashes and other unused operators
'mp4-baseline-16x9' must be handled as a single string, but the '-' was treated as an operator.
9 years ago
Jaime Marquínez Ferrándiz d96d604e53 YoutubeDL: format spec: don't accept a bare '/' (#6124) 9 years ago
Jaime Marquínez Ferrándiz 03950c90f7 Merge remote-tracking branch 'jaimemf/format_spec_groups' (closes #6124) 9 years ago
Sergey M․ 645f814544 [test/helper] Allow dicts for mincount 9 years ago
Sergey M․ 308cfe0ab3 [test_downloader] Respect --force-generic-extractor 9 years ago
Sergey M․ ee114368ad [utils] Make value optional for find_xpath_attr
This allows selecting particular attributes by name but without specifying the value and similar to xpath syntax `[@attrib]`
9 years ago
Yen Chi Hsuan 9c29bc69f7 [utils] Improve parse_duration
Now dots are parsed. For example '87 Min.'
9 years ago
Sergey M․ 8954e48140 [test_compat] Add tests for compat_urllib_parse_unquote_plus 9 years ago
Sergey M․ d79febcd06 [test_compat] Remove redundant test 9 years ago
Sergey M․ 14309e1ddc [test_compat] Make tests more idiomatic 9 years ago
fnord 4a63291144 Add tests for compat_urllib_parse_unquote 9 years ago
Jaime Marquínez Ferrándiz 0a31a35098 [YoutubeDL] format spec: add additional checks for invalid syntax 9 years ago
Jaime Marquínez Ferrándiz bb8e553662 [YoutubeDL] format spec: Do not fail when a filter gives an empty result
For example with 'best[height<40]' we ended getting a 'IndexError: list index out of range'.
10 years ago
Jaime Marquínez Ferrándiz f5f4a27a96 [YoutubeDL] format spec: fix handling of '/' with ','
When using 'bestvideo/best,bestaudio', 'bestvideo/best' must be set as the current_selector (instead of appending it to the selectors), otherwise when it gets the ',' it would append 'None' to the selectors.
10 years ago
Jaime Marquínez Ferrándiz cf2ac6df68 [YoutubeDL] format spec: Fix handling of '+' with '/'
'bestvideo+bestaudio/best' was incorrectly interpreted as 'bestvideo+(bestaudio/best)', so it would fail if 'bestaudio' doesn't exist instead of falling back to 'best'.
10 years ago
Jaime Marquínez Ferrándiz 0130afb76e [YoutubeDL] format spec: allow grouping specifiers with parentheses 10 years ago
Jaime Marquínez Ferrándiz 5acfa126c8 [YoutubeDL] format spec: treat 'all' like a normal specifier
So you can use filters with it, for example 'all[width>=400][width<=600]'.
10 years ago
Jaime Marquínez Ferrándiz 67134eaba1 [YoutubeDL] rework how the format spec is processed
The spec string is processed using 'tokenize.tokenize' to split it in words and operators, the filters are still processed using regular expressions.
This should make easier to allow grouping operators with parens.
10 years ago
Jaime Marquínez Ferrándiz 4c8fea92f3 [test/aes] Fix on python 3.3 and higher
Since 878563c847 the aes functions only accepts the base64 data as a unicode string.
10 years ago
Yen Chi Hsuan f0bfaa2d7d [nrk] Update subtitles test
Subtitle conversion routine is removed, so the subtitles are TTML now. See
1c7e2e64f6
10 years ago
Yen Chi Hsuan 1b0427e6c4 [utils] Support TTML without default namespace
In a strict sense such TTML is invalid, but Yahoo uses it.
10 years ago
Jaime Marquínez Ferrándiz e9eaf3fbcf [test/YoutubeDL] Add tests for 'playliststart', 'playlistend' and 'playlist_items' 10 years ago
Yen Chi Hsuan 7dff03636a [utils] Support 'dur' field in TTML 10 years ago
Yen Chi Hsuan d39e0f05db [utils] Remove sanitize_url_path_consecutive_slashes()
This function is used only in SohuIE, which is updated to use a new
extraction logic.
10 years ago
Yen Chi Hsuan 0fe2ff78e6 [NBC] Enhance embedURL extraction (closes #2549) 10 years ago
Sergey M․ b3ed15b760 [utils] Add replace_extension 10 years ago
Sergey M․ a4bcaad773 [test_utils] Add tests for prepend_extension 10 years ago
Jaime Marquínez Ferrándiz 8dd5418803 Make 'best' format only match non-DASH formats (closes #5554)
Otherwise it's impossible to only download non-DASH formats, for example `best[height=?480]/best` would download a DASH video if it's the only one with height=480, instead for falling back to the second format specifier.
For audio only urls (soundcloud, bandcamp ...), the best audio will be downloaded as before.
10 years ago
Sergey M. 40b96352c9 Merge pull request #5523 from jaimeMF/remove-format-limit
Remove the --max-quality option
10 years ago
Yen Chi Hsuan bf6427d2fb [ffmpeg] Add dfxp (TTML) subtitles support (#3432, #5146) 10 years ago