Commit Graph

1069 Commits (4398f6832f76948ee79025f0e055117182d1dfb3)

Author SHA1 Message Date
Sergey M․ 2864179293
[youtube] Improve extraction
+ Add support for --no-playlist (closes #27009)
* Improve playlist and mix extraction (closes #26390, closes #26509, closes #26534, closes #27011)
+ Extract playlist uploader data
* Update tests
4 years ago
Sergey M․ fe07e788bf
[utils] Skip ! prefixed code in js_to_json 4 years ago
Sergey M․ 2de2ca6659
[youtube] Rework extractors
WIP
4 years ago
Kevin O'Connor 4eda10499e
[utils] Don't attempt to coerce JS strings to numbers in js_to_json (#26851)
The current logic in `js_to_json` tries to rewrite octal/hex numbers to
decimal. However, when the logic actually happens the `"` or `'` have
already been trimmed off. This causes what were originally strings, that
happen to look like octal/hex numbers, to get rewritten to decimal and
returned as a number rather than a string.

In practive something like:

```js
{
  "0x40": "foo",
  "040": "bar",
}
```

would get rewritten as:

```json
{
  64: "foo",
  32: "bar
}
```

This is problematic since this isn't valid JSON as you cannot have
non-string keys.
4 years ago
Sergey M․ 1d9bf655e6
[utils] Recognize wav mimetype (closes #26463) 4 years ago
Sergey M․ 84213ea8d4
[youtube] Extract chapters from JSON (closes #24819) 4 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) 5 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) 7 years ago
Sergey M․ 2ae2ffda5e
[utils] Improve unified_timestamp 7 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