Commit Graph

170 Commits (3acff9423df437dd4bd1530a69011fc9ddc74ad1)

Author SHA1 Message Date
Sergey M․ 7aefc49c40 [utils] Skip invalid/non HTML entities (Closes )
Jaime Marquínez Ferrándiz 6a75040278 [utils] unified_strdate: Return None if the date format can't be recognized (fixes )
This issue was introduced with ae12bc3ebb, it returned 'None'.
Sergey M 30eecc6a04 Merge pull request from jaimeMF/xml_attrib_unicode
Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x (…
Sergey M․ 578c074575 [utils] Support list of xpath in xpath_element
Sergey M․ 52c3a6e49d [utils] Improve parse_iso8601
Jaime Marquínez Ferrándiz 36e6f62cd0 Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x ()
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).
Sergey M․ d01949dc89 [utils:js_to_json] Fix bad escape in double quoted strings
Sergey M․ f71264490c [test_utils] Add tests for cli option converters
Sergey M․ 87f70ab39d [test_utils] Add more tests for xpath
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]`
Yen Chi Hsuan 9c29bc69f7 [utils] Improve parse_duration
Now dots are parsed. For example '87 Min.'
Yen Chi Hsuan 1b0427e6c4 [utils] Support TTML without default namespace
In a strict sense such TTML is invalid, but Yahoo uses it.
Yen Chi Hsuan 7dff03636a [utils] Support 'dur' field in TTML
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.
Yen Chi Hsuan 0fe2ff78e6 [NBC] Enhance embedURL extraction (closes )
Sergey M․ b3ed15b760 [utils] Add replace_extension
Sergey M․ a4bcaad773 [test_utils] Add tests for prepend_extension
Yen Chi Hsuan bf6427d2fb [ffmpeg] Add dfxp (TTML) subtitles support (, )
Yen Chi Hsuan 0a1603634b [utils] Remove url_infer_protocol
Yen Chi Hsuan 418c5cc3fc [udn] Add new extractor
Sergey M․ 8cf70de428 [test_utils] Add test for unified_strdate
Sergey M․ ba9e68f402 [utils] Drop trailing comma before closing brace
Naglis Jonaitis 91757b0f37 [utils] Escape all HTML entities written in hexadecimal form
Jaime Marquínez Ferrándiz 5379a2d40d [test/utils] Test xpath_text
Sergey M․ 92a4793b3c [utils] Place sanitize url function near other sanitizing functions
Sergey M․ dc03a42537 Merge branch 'sohu_fix' of https://github.com/yan12125/youtube-dl into yan12125-sohu_fix
Sergey M․ 2ebfeacabc [utils] Keep dot and dotdot unmodified (Closes )
Sergey M․ f18ef2d144 [utils] Disallow trailing dot in sanitize_path for a path part
Sergey M․ a2aaf4dbc6 [utils] Add sanitize_path
Yen Chi Hsuan 55969016e9 [utils] Add a function to sanitize consecutive slashes in URLs
Philipp Hagemeister a7440261c5 [utils] Streap leading dots
Fixes , closes 
Philipp Hagemeister 3e675fabe0 [airmozilla] Be more tolerant when nonessential items are missing ()
Philipp Hagemeister 5a42414b9c [utils] Prevent hyphen at beginning of filename (Fixes )
Philipp Hagemeister d305dd73a3 [utils] Fix js_to_json
Previously, the runtime could be atrocious for longer inputs.
Philipp Hagemeister 347de4931c [YoutubeDL] Add generic video filtering (Fixes )
This functionality is intended to eventually encompass the current format filtering.
Philipp Hagemeister 9bb8e0a3f9 [wsj] Add new extractor (Fixes )
Philipp Hagemeister 8f4b58d70e [ntvde] Add new extractor (Fixes )
Philipp Hagemeister cfb56d1af3 Add --list-thumbnails
Philipp Hagemeister 61ca9a80b3 [generic] Add support for BOMs (Fixes )
Naglis Jonaitis a69801e2c6 [utils] Add additional format to unified_strdate
Sergey M․ a5fb718c50 [test_utils] Add more tests for parse_duration
Philipp Hagemeister 2aeb06d6dc [utils] Improve colon handling (Fixes )
Philipp Hagemeister 0590062925 Respect age_limit when listing extractors (Fixes )
Philipp Hagemeister cae97f6521 Improve and test ffmpeg version detection
Philipp Hagemeister 42bdd9d051 [cinchcast] Add new extractor (Fixes )
Philipp Hagemeister 47d7c64274 [test_utils] Make test more realistically ()
Philipp Hagemeister 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes )
Philipp Hagemeister e8df5cee12 [minhateca] Fix duration parsing
Philipp Hagemeister 4349c07dd7 [minhateca] Add extractor (Fixes )
Philipp Hagemeister e075a44afb [tests] Remove useless u prefixes
Philipp Hagemeister be64b5b098 [xminus] Simplify and extend ()
Jouke Waleson 8bcc875676 PEP8: more applied
Jouke Waleson 5f6a1245ff PEP8 applied
Philipp Hagemeister 7d4111ed14 Provide guidance when called with a YouTube ID starting with a dash.
Reported at https://news.ycombinator.com/item?id=8648121
Philipp Hagemeister 6a68bb574a [eporner] Fix duration (Closes )
Philipp Hagemeister 609a61e3e6 [npo] Improve npo.nl (Fixes )
Philipp Hagemeister 4c0924bb24 [utils] Fix intlist_to_bytes in Python 2 ()
Philipp Hagemeister e4bdb37ec6 [spiegel] Add support for embeds
Philipp Hagemeister 12ea2f30cf [utils] Remove unused get_meta_content function
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 .
Philipp Hagemeister 7d11297f3f Merge branch 'master' of github.com:rg3/youtube-dl
Philipp Hagemeister 6ad4013d40 [drtv] Allow fractional timestamps (Fixes )
Jaime Marquínez Ferrándiz 8abec2c8bb [test_utils] Fix compat_getenv and compat_expanduser tests on python 3.x
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
Philipp Hagemeister e7b6d12254 [utils] Improve and test js_to_json
Philipp Hagemeister 410f3e73ab [utils] Fix js_to_json
Sergey M․ 4644ac5527 [core] Decode environment variables with filesystem encoding (Fixes , Fixes , Fixes )
Introduces compat versions of os.getenv and os.path.expanduser
Philipp Hagemeister 99b67fecc5 [arte] Fix upload date extraction
Philipp Hagemeister 9c44d2429b [vimeo:likes] Support large like lists (Fixes )
Philipp Hagemeister 0003a5c416 Merge remote-tracking branch 'dstftw/escape-non-ascii-in-urls'
Conflicts:
	test/test_utils.py
Philipp Hagemeister a020a0dc20 [facebook] Fix support for untitled videos (Fixes )
Sergey M․ d05cfe0600 [YoutubeDL/utils] Clarify rationale for URL escaping in comment, move escape routines to utils and add some tests
Sergey M․ ca7b3246b6 [utils] Improve parse_duration
Philipp Hagemeister 4e408e479b [utils] Modernize tests
Philipp Hagemeister 7adcbe7594 [rtlnl] Extract duration
Jaime Marquínez Ferrándiz 173a7026d5 [test/test_utils] Fix typo in method name
Philipp Hagemeister 676eb3f2dd Fix unicode_escape (Fixes )
Philipp Hagemeister fac55558ad [washingtonpost] Add extractor (Fixes )
Philipp Hagemeister 912b38b428 [instagram] Fix info_dict key name
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`.
Philipp Hagemeister 62e609ab77 Ignore BOM in batch files (Fixes )
Sergey M. 2db806b4aa Improve parse_duration
Philipp Hagemeister b53466e168 Fix f4m downloading on Python 2.6
Philipp Hagemeister 026fcc0495 Fix (date parsing with dashes)
Philipp Hagemeister 65697b3bf3 Merge branch 'paged-lists'
Conflicts:
	test/test_utils.py
	youtube_dl/extractor/youtube.py
Philipp Hagemeister 5aafe895fc Correct XML ampersand fixup
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 
Philipp Hagemeister 608d11f515 [cnn] Add multiple formats, duration, and upload_date
Philipp Hagemeister d6c7a367e8 [utils] Fix url_basename
Philipp Hagemeister 29eb517403 Add webpage_url_basename info_dict field (Fixes )
Jaime Marquínez Ferrándiz f53c966a73 [dailymotion] Extract view count ()
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.
Philipp Hagemeister 9d4660cab1 [generic] Support embedded vimeo videos ()
Philipp Hagemeister 44a5f1718a Simplify tests
* Make them directly executable again
* Move common stuff (md5, parameters) to helper
* Never import *
* General clean up
Jaime Marquínez Ferrándiz d7e66d39a0 Add an extractor for internetvideoarchive.com videos
It's used by videodetective.com
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
Philipp Hagemeister 59ae56fad5 Add helper function find_path_attr
Jaime Marquínez Ferrándiz 37254abc36 Allow to use relative dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? (Closes )
Also fix DateRange not accepting ranges of one day.
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
Jaime Marquínez Ferrándiz bd55852517 Allow to select videos to download by their upload dates (related )
Only absolute dates.