Commit Graph

751 Commits (5976e7ab579c4d1e2fae26acbaa628009b2d83a8)

Author SHA1 Message Date
Jaime Marquínez Ferrándiz d96d604e53 YoutubeDL: format spec: don't accept a bare '/' (#6124) 10 years ago
Jaime Marquínez Ferrándiz 03950c90f7 Merge remote-tracking branch 'jaimemf/format_spec_groups' (closes #6124) 10 years ago
Sergey M․ 645f814544 [test/helper] Allow dicts for mincount 10 years ago
Sergey M․ 308cfe0ab3 [test_downloader] Respect --force-generic-extractor 10 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]`
10 years ago
Yen Chi Hsuan 9c29bc69f7 [utils] Improve parse_duration
Now dots are parsed. For example '87 Min.'
10 years ago
Sergey M․ 8954e48140 [test_compat] Add tests for compat_urllib_parse_unquote_plus 10 years ago
Sergey M․ d79febcd06 [test_compat] Remove redundant test 10 years ago
Sergey M․ 14309e1ddc [test_compat] Make tests more idiomatic 10 years ago
fnord 4a63291144 Add tests for compat_urllib_parse_unquote 10 years ago
Jaime Marquínez Ferrándiz 0a31a35098 [YoutubeDL] format spec: add additional checks for invalid syntax 10 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
Jaime Marquínez Ferrándiz 9f3fa89f7c Remove the --max-quality option
It doesn't work well with 'bestvideo' and 'bestaudio' because they are usually before the max quality.
Format filters should be used instead, they are more flexible and don't require the requested quality to exist for each video.
10 years ago
Sergey M․ 70947ea7b1 [parameters.json] Set default `format` parameter to `best` 10 years ago
Yen Chi Hsuan 880ee801cf [tests] Allow multi_video to be tested as playlists 10 years ago
Jaime Marquínez Ferrándiz 592e97e855 Postprocessors: use a list for the files that can be deleted
We could only know if we had to delete the original file, but this system allows to specify us more files (like subtitles).
10 years ago
Yen Chi Hsuan 0a1603634b [utils] Remove url_infer_protocol 10 years ago
Yen Chi Hsuan 418c5cc3fc [udn] Add new extractor 10 years ago
Sergey M․ ff02a228e3 [test_execution] Fix test under python 2 @ windows 10 years ago
Sergey M․ 8cf70de428 [test_utils] Add test for unified_strdate 10 years ago
Sergey M․ ba9e68f402 [utils] Drop trailing comma before closing brace 10 years ago
Jaime Marquínez Ferrándiz 157e9e5aa5 [youtube:watchlater] Remove unused properties and fix tests 10 years ago
Naglis Jonaitis 91757b0f37 [utils] Escape all HTML entities written in hexadecimal form 10 years ago
Philipp Hagemeister f5e2efbbf0 [options] Handle special characters in argv (Fixes #5157) 10 years ago
Jaime Marquínez Ferrándiz f9544f6e8f [test/aes] Test aes_decrypt_text with 256 bit 10 years ago
Jaime Marquínez Ferrándiz 5379a2d40d [test/utils] Test xpath_text 10 years ago
Jaime Marquínez Ferrándiz a7d9ded45d [test] Add tests for aes 10 years ago
Jaime Marquínez Ferrándiz 531980d89c [test/YoutubeDL] test match_filter 10 years ago
Jaime Marquínez Ferrándiz f20bf146e2 [test/YoutubeDL] split in two classes
The name was misleading
10 years ago
Jaime Marquínez Ferrándiz 01218f919b [test/http] Add test for proxy support 10 years ago
Sergey M․ 92a4793b3c [utils] Place sanitize url function near other sanitizing functions 10 years ago
Sergey M․ dc03a42537 Merge branch 'sohu_fix' of https://github.com/yan12125/youtube-dl into yan12125-sohu_fix 10 years ago
Jaime Marquínez Ferrándiz 8508557e77 [test/YoutubeDL] Use valid urls
It failed on python 3.4 when building the http_headers field
10 years ago
Jaime Marquínez Ferrándiz 4d1652484f [test/unicode_literals] Don't look into the .git and .tox directories
The .tox directory contains python code that we can't control
10 years ago
Jaime Marquínez Ferrándiz 88cf6fb368 [metadatafromtitle] Some improvements and cleanup
* Remove the 'songtitle' field, 'title' can be used instead.
* Remove newlines in the help text, for consistency with other options.
* Add 'from __future__ import unicode_literals'.
* Call '__init__' from the parent class.
* Add test for the format_to_regex method
10 years ago
Jaime Marquínez Ferrándiz 3946864c8a [vimeo] Use https for all vimeo.com urls
Unfortunately vimeopro.com doesn't support it yet.
10 years ago
Sergey M․ 7e195d0e92 [funnyordie] Add subtitles test 10 years ago
Sergey M․ 2ebfeacabc [utils] Keep dot and dotdot unmodified (Closes #5171) 10 years ago
Sergey M․ f18ef2d144 [utils] Disallow trailing dot in sanitize_path for a path part 10 years ago
Sergey M․ a2aaf4dbc6 [utils] Add sanitize_path 10 years ago
Yen Chi Hsuan 55969016e9 [utils] Add a function to sanitize consecutive slashes in URLs 10 years ago
Philipp Hagemeister 499bfcbfd0 Make sure netrc works for all extractors with login support
Fixes #5112
10 years ago
Philipp Hagemeister a7440261c5 [utils] Streap leading dots
Fixes #2865, closes #5087
10 years ago
Philipp Hagemeister 3e675fabe0 [airmozilla] Be more tolerant when nonessential items are missing (#5030) 10 years ago
Philipp Hagemeister 5a42414b9c [utils] Prevent hyphen at beginning of filename (Fixes #5035) 10 years ago
Jaime Marquínez Ferrándiz 25ac63ed71 [rtve] Extract subtitles 10 years ago
Jaime Marquínez Ferrándiz bfc993cc91 Merge branch 'subtitles-rework'
(Closes PR #4964)
10 years ago
Jaime Marquínez Ferrándiz 80970e531b [test/subtitles] Update checksum for Viki 10 years ago
Jaime Marquínez Ferrándiz b7bb76df05 [test/subtitles] Remove some tests
Test only with 'allsubtitles', the language selection is already tested in test_YoutubeDL.py
10 years ago
Jaime Marquínez Ferrándiz 98c70d6fc7 [YoutubeDL] only add normal subtitles to the 'requested_subtitles' field if 'writesubtitles' is True 10 years ago
Jaime Marquínez Ferrándiz ab84349b16 [test/YoutubeDL] Add test for subtitles
Updated the offlinetest make target to not skip it
10 years ago
Jaime Marquínez Ferrándiz 4d17184817 [YoutubeDL] don't set the 'requested_subtitles' without writesubtitles or writeautomaticsub 10 years ago
Philipp Hagemeister 8fb3ac3649 PEP8: W503 10 years ago
Jaime Marquínez Ferrándiz 8807f1277f [theplatform] Convert to new subtitles system 10 years ago
Philipp Hagemeister d305dd73a3 [utils] Fix js_to_json
Previously, the runtime could be atrocious for longer inputs.
10 years ago
Jaime Marquínez Ferrándiz 4f7cea6c53 [viki] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz afbdd3acc3 [rai] Convert to new subtitles system 10 years ago
Philipp Hagemeister 9789d7535d [xtube] Fix test case 10 years ago
Jaime Marquínez Ferrándiz 01561da142 [nrk] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz 0af25f784b [mtv] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz b9b42f2ea0 [npo] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz 311c393838 [lynda] Convert to new subtitles system 10 years ago
Philipp Hagemeister 3eff81fbf7 [jsinterp] Disable comment support
We need a proper lexer to be able to understand YouTube's code, which contains /* inside of strings.
For now it's sufficient to just disable comment support altogether.

Fixes #4976, fixes #4979, fixes #4980, fixes #4981, fixes #4982.
Closes #4977.
10 years ago
Philipp Hagemeister f21e915fb9 [test/helper] Render info_dict with a final comma 10 years ago
Philipp Hagemeister 6f53c63df6 [test/helper] Only output a newline for forgotten keys if keys are really missing 10 years ago
Jaime Marquínez Ferrándiz 85920dd01d [bliptv] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz 360e1ca5cc [youtube] Convert to new subtitles system
The automatic captions are stored in the 'automactic_captions' field, which is used if no normal subtitles are found for an specific language.
10 years ago
Jaime Marquínez Ferrándiz a1f2a06b34 [dailymotion] Convert to new subtitles system 10 years ago
Jaime Marquínez Ferrándiz c84dd8a90d [YoutubeDL] store the subtitles to download in the 'requested_subtitles' field
We need to keep the orginal subtitles information, so that the '--load-info' option can be used to list or select the subtitles again.
We'll also be able to have a separate field for storing the automatic captions info.
10 years ago
Jaime Marquínez Ferrándiz 65469a7f8b [vimeo] Convert to new subtitles system
Removed some tests, the behaviour should be checked in a test for the YoutubeDL class
10 years ago
Jaime Marquínez Ferrándiz a504ced097 Improve subtitles support
For each language the extractor builds a list with the available formats sorted (like for video formats), then YoutubeDL selects one of them using the '--sub-format' option which now allows giving the format preferences (for example 'ass/srt/best').
For each format the 'url' field can be set so that we only download the contents if needed, or if the contents needs to be processed (like in crunchyroll) the 'data' field can be used.

The reasons for this change are:
* We weren't checking that the format given with '--sub-format' was available, checking it in each extractor would be repetitive.
* It allows to easily support giving a format preference.
* The subtitles were automatically downloaded in the extractor, but I think that if you use for example the '--dump-json' option you want to finish as fast as possible.

Currently only the ted extractor has been updated, but the old system still works.
10 years ago
Jaime Marquínez Ferrándiz 8fb474fb17 [test/subtitles] Fix some tests
The checksym for the CeskaTelevize subtitles has changed again, so we just test that it has a reasonable length.
10 years ago
Jaime Marquínez Ferrándiz 36e7a4ca2e [test/subtitles] Update checksums 10 years ago
Jaime Marquínez Ferrándiz d304209a85 [test/parameters.json] Set 'fixup' to 'never'
The fixed audio files for Youtube have a size lower that the minimum required.
10 years ago
Philipp Hagemeister 6a78740211 [test/test_youtube_signature] Use fake YDL 10 years ago
Philipp Hagemeister 347de4931c [YoutubeDL] Add generic video filtering (Fixes #4916)
This functionality is intended to eventually encompass the current format filtering.
10 years ago
Jaime Marquínez Ferrándiz 0161353d7d [test/test_YoutubeDL] Remove debug print call 10 years ago
Jaime Marquínez Ferrándiz 2b4ecde2c8 [test/YoutubeDL] Add a simple test for postprocesors
Just checks that the 'keepvideo' option works as intended.
10 years ago
Philipp Hagemeister 9bb8e0a3f9 [wsj] Add new extractor (Fixes #4854) 10 years ago
Philipp Hagemeister 23d9ded655 [franceculture] Rewrite for new HTML scheme (Fixes #4853) 10 years ago
Philipp Hagemeister 8f4b58d70e [ntvde] Add new extractor (Fixes #4850) 10 years ago
Philipp Hagemeister 9e3f19919a [jsinterp] Beef up and add tests
In preparation for #4822, extend jsinterp by a lot. (We may even have to/want to write a proper interpreter with actual parsing)
10 years ago
Philipp Hagemeister 4e980275b5 [test_download] Remove references to "file" in test definitions 10 years ago