Commit Graph

233 Commits (1bdae7d312ceac9ecef8a9a215d958811a9fb6be)

Author SHA1 Message Date
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 5bc880b988 [utils] Add OHDave's RSA encryption function 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
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
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
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 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
Sergey M․ d01949dc89 [utils:js_to_json] Fix bad escape in double quoted strings 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
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
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
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
Yen Chi Hsuan bf6427d2fb [ffmpeg] Add dfxp (TTML) subtitles support (#3432, #5146) 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․ 8cf70de428 [test_utils] Add test for unified_strdate 10 years ago
Sergey M․ ba9e68f402 [utils] Drop trailing comma before closing brace 10 years ago
Naglis Jonaitis 91757b0f37 [utils] Escape all HTML entities written in hexadecimal form 10 years ago
Jaime Marquínez Ferrándiz 5379a2d40d [test/utils] Test xpath_text 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
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 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
Philipp Hagemeister d305dd73a3 [utils] Fix js_to_json
Previously, the runtime could be atrocious for longer inputs.
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
Philipp Hagemeister 9bb8e0a3f9 [wsj] Add new extractor (Fixes #4854) 10 years ago
Philipp Hagemeister 8f4b58d70e [ntvde] Add new extractor (Fixes #4850) 10 years ago
Philipp Hagemeister cfb56d1af3 Add --list-thumbnails 10 years ago
Philipp Hagemeister 61ca9a80b3 [generic] Add support for BOMs (Fixes #4753) 10 years ago
Naglis Jonaitis a69801e2c6 [utils] Add additional format to unified_strdate 10 years ago
Sergey M․ a5fb718c50 [test_utils] Add more tests for parse_duration 10 years ago
Philipp Hagemeister 2aeb06d6dc [utils] Improve colon handling (Fixes #4683) 10 years ago
Philipp Hagemeister 0590062925 Respect age_limit when listing extractors (Fixes #4653) 10 years ago
Philipp Hagemeister cae97f6521 Improve and test ffmpeg version detection 10 years ago
Philipp Hagemeister 42bdd9d051 [cinchcast] Add new extractor (Fixes #4428) 10 years ago
Philipp Hagemeister 47d7c64274 [test_utils] Make test more realistically (#4377) 10 years ago
Philipp Hagemeister 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes #4377) 10 years ago
Philipp Hagemeister e8df5cee12 [minhateca] Fix duration parsing 10 years ago
Philipp Hagemeister 4349c07dd7 [minhateca] Add extractor (Fixes #4094) 10 years ago
Philipp Hagemeister e075a44afb [tests] Remove useless u prefixes 10 years ago
Philipp Hagemeister be64b5b098 [xminus] Simplify and extend (#4302) 10 years ago
Jouke Waleson 8bcc875676 PEP8: more applied 10 years ago
Jouke Waleson 5f6a1245ff PEP8 applied 10 years ago
Philipp Hagemeister 7d4111ed14 Provide guidance when called with a YouTube ID starting with a dash.
Reported at https://news.ycombinator.com/item?id=8648121
10 years ago
Philipp Hagemeister 6a68bb574a [eporner] Fix duration (Closes #4188) 10 years ago
Philipp Hagemeister 609a61e3e6 [npo] Improve npo.nl (Fixes #4173) 10 years ago
Philipp Hagemeister 4c0924bb24 [utils] Fix intlist_to_bytes in Python 2 (#4181) 10 years ago
Philipp Hagemeister e4bdb37ec6 [spiegel] Add support for embeds 10 years ago
Philipp Hagemeister 12ea2f30cf [utils] Remove unused get_meta_content function 10 years ago
Philipp Hagemeister 8c25f81bee [util] Move compatibility functions out of util
utils is large enough without these compatibility functions.

Everything that is present in newer versions of Python (i.e. with dev Python it's just an import) goes into compat.py .
Everything else (i.e. youtube-dl-specific helpers) goes into utils.py .
10 years ago
Philipp Hagemeister 7d11297f3f Merge branch 'master' of github.com:rg3/youtube-dl 10 years ago
Philipp Hagemeister 6ad4013d40 [drtv] Allow fractional timestamps (Fixes #4059) 10 years ago
Jaime Marquínez Ferrándiz 8abec2c8bb [test_utils] Fix compat_getenv and compat_expanduser tests on python 3.x 10 years ago
Sergey M․ f889cea109 Merge branch 'compat-getenv-and-expanduser' of https://github.com/dstftw/youtube-dl into dstftw-compat-getenv-and-expanduser
Conflicts:
	test/test_utils.py
	youtube_dl/__init__.py
10 years ago
Philipp Hagemeister e7b6d12254 [utils] Improve and test js_to_json 10 years ago
Philipp Hagemeister 410f3e73ab [utils] Fix js_to_json 10 years ago
Sergey M․ 4644ac5527 [core] Decode environment variables with filesystem encoding (Fixes #3854, Fixes #3217, Fixes #2918)
Introduces compat versions of os.getenv and os.path.expanduser
10 years ago
Philipp Hagemeister 99b67fecc5 [arte] Fix upload date extraction 10 years ago
Philipp Hagemeister 9c44d2429b [vimeo:likes] Support large like lists (Fixes #3847) 10 years ago
Philipp Hagemeister 0003a5c416 Merge remote-tracking branch 'dstftw/escape-non-ascii-in-urls'
Conflicts:
	test/test_utils.py
10 years ago
Philipp Hagemeister a020a0dc20 [facebook] Fix support for untitled videos (Fixes #3757) 10 years ago
Sergey M․ d05cfe0600 [YoutubeDL/utils] Clarify rationale for URL escaping in comment, move escape routines to utils and add some tests 10 years ago
Sergey M․ ca7b3246b6 [utils] Improve parse_duration 10 years ago
Philipp Hagemeister 4e408e479b [utils] Modernize tests 10 years ago
Philipp Hagemeister 7adcbe7594 [rtlnl] Extract duration 10 years ago
Jaime Marquínez Ferrándiz 173a7026d5 [test/test_utils] Fix typo in method name 10 years ago
Philipp Hagemeister 676eb3f2dd Fix unicode_escape (Fixes #2695) 11 years ago
Philipp Hagemeister fac55558ad [washingtonpost] Add extractor (Fixes #2622) 11 years ago
Philipp Hagemeister 912b38b428 [instagram] Fix info_dict key name 11 years ago
Jaime Marquínez Ferrándiz b74fa8cd2c [facebook] Fix login process
It was broken and didn't work in python 3.
And use `_download_webpage` instead of `compat_urllib_request.urlopen`.
11 years ago
Philipp Hagemeister 62e609ab77 Ignore BOM in batch files (Fixes #2450) 11 years ago
Sergey M. 2db806b4aa Improve parse_duration 11 years ago
Philipp Hagemeister b53466e168 Fix f4m downloading on Python 2.6 11 years ago
Philipp Hagemeister 026fcc0495 Fix #2355 (date parsing with dashes) 11 years ago
Philipp Hagemeister 65697b3bf3 Merge branch 'paged-lists'
Conflicts:
	test/test_utils.py
	youtube_dl/extractor/youtube.py
11 years ago
Philipp Hagemeister 5aafe895fc Correct XML ampersand fixup 11 years ago
Philipp Hagemeister b7ab059084 Add infrastructure for paged lists
This commit allows to download pages in playlists as needed instead of all at once.
Before this commit,
    youtube-dl http://www.youtube.com/user/ANNnewsCH/videos --playlist-end 2 --skip-download
took quite some time - now it's almost instantaneous.
As an example, the youtube:user extractor has been converted.
Fixes #2175
11 years ago
Philipp Hagemeister 608d11f515 [cnn] Add multiple formats, duration, and upload_date 11 years ago
Philipp Hagemeister d6c7a367e8 [utils] Fix url_basename 11 years ago
Philipp Hagemeister 29eb517403 Add webpage_url_basename info_dict field (Fixes #1938) 11 years ago
Jaime Marquínez Ferrándiz f53c966a73 [dailymotion] Extract view count (#1895) 11 years ago
Jaime Marquínez Ferrándiz a6a173c2fd utils.shell_quote: Convert the args to unicode strings
The youtube test video failed with `UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 34: ordinal not in range(128)`, the problem was with the filenames being encoded.
11 years ago
Philipp Hagemeister 9d4660cab1 [generic] Support embedded vimeo videos (#1602) 11 years ago
Philipp Hagemeister 44a5f1718a Simplify tests
* Make them directly executable again
* Move common stuff (md5, parameters) to helper
* Never import *
* General clean up
11 years ago
Jaime Marquínez Ferrándiz d7e66d39a0 Add an extractor for internetvideoarchive.com videos
It's used by videodetective.com
11 years ago
Jaime Marquínez Ferrándiz a921f40799 [ustream] Simplify channel extraction
the ChannelParser has been moved to a new function in utils get_meta_content
Instead of the SocialStreamParser now it uses a regex
11 years ago
Philipp Hagemeister 59ae56fad5 Add helper function find_path_attr 12 years ago
Jaime Marquínez Ferrándiz 37254abc36 Allow to use relative dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? (Closes #137)
Also fix DateRange not accepting ranges of one day.
12 years ago
Jaime Marquínez Ferrándiz bf50b0383e Fix some IEs that didn't return the uploade_date in the YYYYMMDD format
Create a function unified_strdate in utils.py to fix these problems
12 years ago
Jaime Marquínez Ferrándiz bd55852517 Allow to select videos to download by their upload dates (related #137)
Only absolute dates.
12 years ago
Philipp Hagemeister 314d506b96 Do not use deprecated method 12 years ago
Philipp Hagemeister e387eb5aba Let youtube IE handle IDs starting with PL (Closes #572) 12 years ago
Philipp Hagemeister 796173d08b Keep video IDs verbatim if possible (Closes #571) 12 years ago
Philipp Hagemeister 627dcfff39 Restrict more characters (Closes #566) 12 years ago
Philipp Hagemeister 59ae15a507 Convert all tabs to 4 spaces (PEP8) 12 years ago
Philipp Hagemeister 8cd10ac4ef Fix printing title etc. 12 years ago
Philipp Hagemeister dae7c920f6 Make test_utils.py run on Python 3 12 years ago
Philipp Hagemeister dffe658bac Remove exclamation mark in --restrict-filenames mode 12 years ago
Philipp Hagemeister 1a911e60a4 Add test for asian characters (#551) 12 years ago
Philipp Hagemeister 46cbda0be4 Minor filename encoding improvement in a common case 12 years ago
Philipp Hagemeister c7032546f1 Clean up test 12 years ago
Philipp Hagemeister 56781d3d2e Switch back to underline for invalid characters, and make restricted ASCII-only 12 years ago
Philipp Hagemeister 1c469a9480 New optoin --restrict-filenames 12 years ago
Philipp Hagemeister 156a59e7a9 Additional tests in file name sanitation 12 years ago
Filippo Valsorda 42cb53fcfa modified filename escaping to a "smarter" one 12 years ago
gcmalloc 4279a0ca98 correcting test to be compatible with python2.6 12 years ago
gcmalloc 137c5803c3 some changes to keep the same standard 12 years ago
gcmalloc 80a846e119 correction on the test for the utils.py 12 years ago
gcmalloc 44fb345437 adding TestCase class and corresponding test 12 years ago
gcmalloc 9993976ae4 correction on the sanitize title method, change in title resulting 12 years ago