Yen Chi Hsuan
778a1ccca7
[utils] Add Œ and œ found in French to ACCENT_CHARS
...
Fixes #9463
2016-05-12 19:48:48 +08:00
Yen Chi Hsuan
702ccf2dc0
[compat] Rename shlex_quote and remove unused subprocess_check_output
2016-05-10 16:00:21 +08:00
Yen Chi Hsuan
edaa23f822
[compat] Rename struct_(un)pack to compat_struct_(un)pack
2016-05-10 14:51:38 +08:00
Yen Chi Hsuan
d5ae6bb501
[utils] Add rationale for register_socks_protocols
2016-05-10 14:51:38 +08:00
Yen Chi Hsuan
51fb4995a5
[utils] Register SOCKS protocols in urllib and support SOCKS4A
2016-05-10 14:51:38 +08:00
Yen Chi Hsuan
71aff18809
[socks] Support SOCKS proxies
2016-05-10 14:51:38 +08:00
Yen Chi Hsuan
dab0daeeb0
[utils,compat] Move struct_pack and struct_unpack to compat.py
2016-05-10 14:51:38 +08:00
Sergey M․
abc97b5eda
[utils] Allow empty attribute values in get_element_by_attribute ( Closes #9415 )
2016-05-06 22:07:30 +06:00
Adam Thalhammer
c587cbb793
improved performance by extracting accented chars to top level
2016-05-03 10:40:30 +10:00
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
2016-05-02 13:21:39 +10:00
Sergey M․
eb9ee19422
[utils] Allow None mimetypes in mimetype2ext
2016-04-25 00:03:12 +06:00
Sergey M
b6c0d4f431
Merge pull request #9110 from remitamine/parse_duration
...
[utils] imporove parse_duration to handle more formats
2016-04-21 22:53:16 +07:00
remitamine
acaff49575
[utils] imporove parse_duration to handle more formats
2016-04-21 16:34:54 +01:00
Yen Chi Hsuan
cacd996662
[utils] Don't touch URLs if not necessary
...
Fix test_Generic_15 (Google redirect)
2016-04-09 19:27:54 +08:00
Jaime Marquínez Ferrándiz
5bf28d7864
[utils] dfxp2srt: add additional namespace
...
Used by the ZDF subtitles (#9081 ).
2016-04-04 20:46:35 +02:00
Sergey M․
15d260ebaa
[utils] Use update_Request in http_request
2016-03-31 22:55:49 +06:00
Sergey M․
ed0291d153
[utils] Add update_Request
2016-03-31 22:55:01 +06:00
Sergey M․
17bcc626bf
[utils] Extract sanitize_url routine
2016-03-26 19:33:57 +06:00
Sergey M․
15707c7e02
[compat] Add compat_urllib_parse_urlencode and eliminate encode_dict
...
encode_dict functionality has been improved and moved directly into compat_urllib_parse_urlencode
All occurrences of compat_urllib_parse.urlencode throughout the codebase have been replaced by compat_urllib_parse_urlencode
Closes #8974
2016-03-26 01:46:57 +06:00
Yen Chi Hsuan
622d19160b
[utils] Clarify Python versions affected by buggy struct module
2016-03-24 18:06:15 +08:00
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
2016-03-23 22:24:52 +08:00
Jaime Marquínez Ferrándiz
782b1b5bd1
[utils] lookup_unit_table: Match word boundary instead of end of string
2016-03-19 11:44:49 +01:00
Jaime Marquínez Ferrándiz
09fc33198a
utils: lookup_unit_table: Use a stricter regex
...
In parse_count multiple units start with the same letter, so it would match different units depending on the order they were sorted when iterating over them.
2016-03-18 19:23:06 +01:00
Sergey M․
810c10baa1
[utils] Use compat_xpath
2016-03-18 02:52:23 +06:00
Sergey M․
c5229f3926
[utils] PEP 8
2016-03-16 21:50:04 +06:00
remitamine
83548824c2
Merge pull request #8092 from bpfoley/twitter-thumbnail
...
[utils] Add extract_attributes for extracting html tag attributes
2016-03-16 13:16:27 +01:00
Sergey M․
2f7ae819ac
[utils] PEP 8
2016-03-13 17:23:08 +06:00
Sergey M․
fb47597b09
[bbc] Generalize unit table lookup and add parse_count
2016-03-13 16:27:20 +06:00
Yen Chi Hsuan
25cb05bda9
[utils] Remove codec2ext
...
This function is orignally used for determining file extensions of DASH
formats. Now in DASH, ext is determined by mime_type. See #8766 for more
information.
2016-03-11 23:51:42 +08:00
Yen Chi Hsuan
6d210f2090
[utils] Add more codecs to codec2ext
...
BBC uses avc3. Here's an example (thanks to @remitamine for this example)
http://rdmedia.bbc.co.uk/dash/ondemand/bbb/2/client_manifest-common_init.mpd
See also https://trac.ffmpeg.org/ticket/5217
2016-03-06 17:57:48 +08:00
Yen Chi Hsuan
19a17d4623
[utils] Add codec2ext
2016-03-05 18:18:28 +08:00
Jaime Marquínez Ferrándiz
3233a68fbb
[utils] update_url_query: Encode the strings in the query dict
...
The test case with {'test': '第二行тест'} was failing on python 2 (the non-ascii characters were replaced with '?').
2016-03-04 22:18:40 +01:00
remitamine
1255733945
Merge pull request #8739 from remitamine/update_url_params
...
[utils] add update_url_query function to create or update query string params
2016-03-03 19:24:04 +01:00
remitamine
38f9ef31dc
[utils] add update_url_query function
2016-03-03 18:34:52 +01:00
Yen Chi Hsuan
0cae023b24
Merge branch 'jython-support'
...
Closes #8302
2016-03-03 18:49:32 +08:00
Yen Chi Hsuan
8ee239e921
[utils] Jython support - handle filenames correctly
...
Now test:youtube downloads
2016-03-03 18:47:54 +08:00
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.
2016-03-03 10:11:37 +00:00
remitamine
e07237f640
[utils] remove check for val from find_xpath_attr
2016-03-02 21:40:21 +01:00
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
2016-02-27 03:22:52 +08:00
Yen Chi Hsuan
680079be39
[utils] Relaxing regex in decode_packed_codes for vidzi
2016-02-26 15:13:03 +08:00
Yen Chi Hsuan
f52354a889
[utils] Move codes for handling eval() from iqiyi.py
2016-02-26 14:58:29 +08:00
Yen Chi Hsuan
59f898b7a7
[utils] Merge base_n functions
2016-02-26 14:37:20 +08:00
Yen Chi Hsuan
481888294d
[utils] Add base36 for use in Vidzi
2016-02-26 14:26:26 +08:00
Yen Chi Hsuan
81bdc8fdf6
[utils] Move base62 to utils
2016-02-26 14:26:26 +08:00
Sergey M․
f160785c5c
[utils] Remove AM/PM from unified_strdate patterns
2016-02-25 00:52:49 +06:00
Yen Chi Hsuan
b95dc034ca
[utils] Implement cache for OnDemandPagedList
2016-02-23 13:11:20 +08:00
remitamine
cafcf657a4
add more subtitles mime types to mimetype2ext and fix the platform subtitle extraction
2016-02-20 22:02:03 +01:00
Yen Chi Hsuan
c1c05c67ea
[utils] Jython support - disable setproctitle() until ctypes is complete
2016-02-21 03:32:03 +08:00
Yen Chi Hsuan
399a76e67b
[utils] Jython support: tolerate missing fcntl module
2016-02-21 03:32:03 +08:00
Jaime Marquínez Ferrándiz
765ac263db
[utils] mimetype2ext: return 'm4a' for 'audio/mp4' ( fixes #8620 )
...
The youtube extractor was using 'mp4' for them, therefore filters like 'bestaudio[ext=m4a]' stopped working (94278f7202
broke it).
2016-02-20 19:55:10 +01:00
Yen Chi Hsuan
5bc880b988
[utils] Add OHDave's RSA encryption function
2016-02-20 19:54:58 +08:00
Sergey M․
611c1dd96e
[refactor] Single quotes consistency
2016-02-14 15:37:17 +06:00
Sergey M․
d800609c62
[refactor] Do not specify redundant None as second argument in dict.get()
2016-02-14 14:25:04 +06:00
Sergey M․
9c7b38981c
[utils] Bump Firefox version in User-Agent
...
Old version number causes Youtube not to serve some formats in ytplayer.config
2016-02-11 23:12:30 +06:00
Sergey M․
8411229bd5
[utils] Allow dot in strip_jsonp
2016-02-07 19:47:09 +06:00
Sergey M․
86296ad2cd
[utils] Add ability to control skipping false values in dict_get
2016-02-07 08:13:04 +06:00
Sergey M․
cbecc9b903
[utils] Add dict_get convenience method
2016-02-07 06:12:53 +06:00
Jaime Marquínez Ferrándiz
87de7069b9
[utils] dfxp2srt: make TTMLPElementParser inherit from object
...
For consistency between python 2 and 3.
2016-02-02 22:30:13 +01:00
remitamine
2b14cb566f
[utils] fix dfxp2srt text extraction( fixes #8055 )
2016-01-28 12:38:34 +01:00
Yen Chi Hsuan
a0d8d704df
[utils] Reorder items in mimetype2ext alphabetically
2016-01-25 01:01:15 +08:00
Yen Chi Hsuan
f6861ec96f
[utils] Add more items to mimetype2ext ( #8293 )
...
These are used in Youtube formats
2016-01-25 00:58:53 +08:00
remitamine
6ec6cb4e95
Revert "fix typos"
...
This reverts commit 36a0e46c39
.
2016-01-10 19:27:22 +01:00
remitamine
36a0e46c39
fix typos
2016-01-10 17:55:41 +01:00
Jakub Wilk
dfb1b1468c
Fix typos
...
Closes #8200 .
2016-01-10 17:24:28 +01:00
Sergey M․
a7aaa39863
[utils] Extract known extensions for reuse
2016-01-04 01:08:34 +06:00
Yen Chi Hsuan
c047270c02
[utils] Remove Content-encoding from headers after decompression
...
With cn_verification_proxy, our http_response() is called twice, one from
PerRequestProxyHandler.proxy_open() and another from normal
YoutubeDL.urlopen(). As a result, for proxies honoring Accept-Encoding, the
following bug occurs:
$ youtube-dl -vs --cn-verification-proxy https://secure.uku.im:993 "test:letv"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-vs', '--cn-verification-proxy', 'https://secure.uku.im:993 ', 'test:letv']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.12.23
[debug] Git HEAD: 97f18fa
[debug] Python version 3.5.1 - Linux-4.3.3-1-ARCH-x86_64-with-arch-Arch-Linux
[debug] exe versions: ffmpeg 2.8.4, ffprobe 2.8.4, rtmpdump 2.4
[debug] Proxy map: {}
[TestURL] Test URL: http://www.letv.com/ptv/vplay/22005890.html
[Letv] 22005890: Downloading webpage
[Letv] 22005890: Downloading playJson data
ERROR: Unable to download JSON metadata: Not a gzipped file (b'{"') (caused by OSError('Not a gzipped file (b\'{"\')',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/common.py", line 330, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/YoutubeDL.py", line 1886, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.5/urllib/request.py", line 471, in open
response = meth(req, response)
File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/utils.py", line 773, in http_response
raise original_ioerror
File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/utils.py", line 761, in http_response
uncompressed = io.BytesIO(gz.read())
File "/usr/lib/python3.5/gzip.py", line 274, in read
return self._buffer.read(size)
File "/usr/lib/python3.5/gzip.py", line 461, in read
if not self._read_gzip_header():
File "/usr/lib/python3.5/gzip.py", line 409, in _read_gzip_header
raise OSError('Not a gzipped file (%r)' % magic)
2015-12-28 01:09:18 +08:00
Sergey M․
9b9c5355e4
Rename error_to_str to error_to_compat_str
2015-12-20 07:00:39 +06:00
Sergey M․
8e60dc7526
[utils] Add encode_compat_str
2015-12-20 06:26:26 +06:00
Sergey M․
fdae235858
[utils] Add error_to_str
2015-12-20 05:26:47 +06:00
Yen Chi Hsuan
db2fe38b55
[utils] Support alternative timestamp format in TTML
...
Fixes #7608
2015-12-19 19:29:51 +08:00
Yen Chi Hsuan
d631d5f9f2
[utils] Fix TTML conversion
...
Tolerate invalid timestamps (closes #7909 )
2015-12-19 18:21:42 +08:00
Sergey M․
31b2051e21
[utils] Add remove_quotes
2015-12-14 21:30:58 +06:00
Yen Chi Hsuan
992fc9d6e1
[utils] Refactor handle_youtubedl_headers for future extension
2015-11-29 12:58:29 +08:00
Yen Chi Hsuan
0424ec307b
[utils] Correct docstring of YoutubeDLHandler
2015-11-29 12:46:04 +08:00
Yen Chi Hsuan
87f0e62d94
[utils] Separate codes for handling Youtubedl-* headers
2015-11-29 12:42:50 +08:00
Sergey M․
67dda51722
Rename compat_urllib_request_Request to sanitized_Request and move to utils
2015-11-23 21:55:15 +06:00
Sergey M․
9cb9a5df77
[utils] Check ext with trailing slash against the list of known extensions
2015-11-22 17:27:13 +06:00
Sergey M․
3e12bc583a
[utils] Improve determine_ext ( Closes #7593 )
2015-11-22 06:29:39 +06:00
Sergey M․
7e1f5447e7
[utils] Improve encode_dict
2015-11-21 20:46:33 +06:00
Sergey M․
7a3f0c00ad
[utils] Style
2015-11-16 20:24:09 +06:00
Sergey M․
7aefc49c40
[utils] Skip invalid/non HTML entities ( Closes #7518 )
2015-11-16 20:20:16 +06:00
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'.
2015-11-02 14:08:38 +01:00
Sergey M․
c90d16cf36
[utils:sanitize_path] Disallow trailing whitespace in path segment ( Closes #7332 )
2015-11-02 04:26:20 +06:00
Sergey M
30eecc6a04
Merge pull request #7296 from jaimeMF/xml_attrib_unicode
...
Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x (…
2015-10-31 18:15:21 +00:00
Sergey M․
ae12bc3ebb
[utils] Make unified_strdate always return unicode string
2015-10-31 23:07:37 +06:00
Sergey M․
578c074575
[utils] Support list of xpath in xpath_element
2015-10-31 22:39:44 +06:00
Sergey M․
52c3a6e49d
[utils] Improve parse_iso8601
2015-10-28 21:40:22 +06:00
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.
2015-10-26 16:41:24 +01:00
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).
2015-10-25 20:13:16 +01:00
Sergey M․
d01949dc89
[utils:js_to_json] Fix bad escape in double quoted strings
2015-10-20 23:09:51 +06:00
Yen Chi Hsuan
1e399778ee
[letv] Fix extraction
...
Using data URIs for passing the decrypted M3U8 manifest, which is
supported by ffmpeg only.
2015-10-18 13:42:57 +08:00
Sergey M․
af98f8ff37
[utils] Return default on fail in int_or_none
2015-10-14 22:37:03 +06:00
Sergey M․
caf80631f0
[utils] Do not fail in float_or_none on non-numeric data
2015-10-14 22:36:37 +06:00
Sergey M․
1812afb7b3
[utils] Do not fail in int_or_none on non-numeric data ( Closes #7175 )
2015-10-14 22:35:01 +06:00
Sergey M․
5a1a2e9454
[utils] Fix kwargs on old python 2 ( Closes #6905 )
2015-09-20 21:08:29 +06:00
Sergey M․
e28034c5ac
[utils] Comment cookie processing until result from travis and some more testing
2015-09-06 08:16:39 +06:00
Sergey M․
266e466ee4
[utils] Simplify cookie processor
2015-09-06 07:53:11 +06:00
Sergey M․
1639282434
[utils] Add encode_dict
2015-09-06 07:22:20 +06:00
Sergey M․
ad72917274
[utils] Add issue URL in comment for #6457
2015-09-06 06:23:44 +06:00
Sergey M․
a6420bf50c
[utils] Add cookie processor for cookie correction ( Closes #6769 )
2015-09-06 06:20:48 +06:00
Sergey M․
66e289bab4
[utils] Generalize cli option converters
2015-09-05 03:05:11 +06:00
Sergey M․
8e636da499
[utils] Improve xpath_text
2015-09-05 00:34:49 +06:00
Sergey M․
5d2354f177
[utils] Relax attribute key assert
2015-09-04 23:57:27 +06:00
Sergey M․
a41fb80ce1
[utils] Add xpath_element and xpath_attr
2015-09-04 23:56:45 +06:00
Sergey M․
e5e78797e6
[utils] Strict HTTP responses ( Closes #6727 )
2015-09-02 02:16:04 +06:00
Sergey M․
5a4d9ddb21
[utils] Percent-encode redirect URL of Location header ( Closes #6457 )
2015-08-07 01:26:40 +06:00
Sergey M․
51f267d9d4
[YoutubeDL:utils] Move percent encode non-ASCII URLs workaround to http_request and simplify ( Closes #6457 )
2015-08-06 22:01:01 +06:00
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]`
2015-08-01 20:22:13 +06:00
Raphael Michel
2c7ed24796
Remove redundant (and wrong) class parameters
2015-07-26 16:37:51 +02:00
Yen Chi Hsuan
9c29bc69f7
[utils] Improve parse_duration
...
Now dots are parsed. For example '87 Min.'
2015-07-22 23:15:22 +08:00
Sergey M․
bf42a9906d
[utils] Add default value for xpath_text
2015-06-28 22:56:07 +06:00
Yen Chi Hsuan
4eb10f6621
[utils] Add ISO3166Utils
2015-06-27 13:13:57 +08:00
Yen Chi Hsuan
4e33577173
[utils] Support ttaf1 namespace in TTML
...
It's found in bbc.co.uk. See #6038
2015-06-21 19:24:39 +08:00
Yen Chi Hsuan
396726244a
[utils/ffmpeg] Move ISO 639 related codes to utils
2015-06-21 18:53:17 +08:00
Yen Chi Hsuan
ecee572411
[yahoo] Add support for closed captions ( closes #5714 )
2015-05-19 00:50:24 +08:00
Yen Chi Hsuan
1b0427e6c4
[utils] Support TTML without default namespace
...
In a strict sense such TTML is invalid, but Yahoo uses it.
2015-05-19 00:45:01 +08:00
Yen Chi Hsuan
c1c924abfe
[utils,common] Merge format_srt_time and _subtitles_timecode
...
format_srt_time uses a comma as the delimiter between seconds and
milliseconds while _subtitles_timecode uses a dot. All .srt examples I
found on the Internet uses a comma, so I use a comma in the merged
version. See http://matroska.org/technical/specs/subtitles/srt.html and
http://devel.aegisub.org/wiki/SubtitleFormats/SRT
2015-05-12 13:04:54 +08:00
Yen Chi Hsuan
7dff03636a
[utils] Support 'dur' field in TTML
2015-05-12 12:47:37 +08:00
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.
2015-05-09 17:37:39 +08:00
Jaime Marquínez Ferrándiz
541168039d
[utils] get_exe_version: encode executable name ( fixes #5647 )
...
It failed in python 2.x when $PATH contains a directory with non-ascii characters.
2015-05-08 11:01:24 +02:00
Yen Chi Hsuan
0fe2ff78e6
[NBC] Enhance embedURL extraction ( closes #2549 )
2015-05-04 21:55:04 +08:00
Sergey M․
b3ed15b760
[utils] Add replace_extension
2015-05-02 23:23:06 +06:00
Sergey M․
e65e4c8874
[utils] Improve prepend_extension
...
Now `ext` is appended to filename if real extension != expected extension.
2015-05-02 23:06:01 +06:00
Sergey M․
c86b61428b
[utils] Fix another old python 2.6 kwargs issue ( Closes #5539 )
2015-04-27 20:00:18 +06:00
Sergey M.
40b96352c9
Merge pull request #5523 from jaimeMF/remove-format-limit
...
Remove the --max-quality option
2015-04-27 16:44:58 +05:00
Sergey M․
aa49acd15a
[utils] Add get_subprocess_encoding
and filename/argument decode counterparts
2015-04-26 04:29:41 +06:00
Yen Chi Hsuan
bf6427d2fb
[ffmpeg] Add dfxp (TTML) subtitles support ( #3432 , #5146 )
2015-04-25 23:18:27 +08:00
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.
2015-04-25 11:59:54 +02:00
Jaime Marquínez Ferrándiz
08f2a92c9c
InfoExtractor._search_regex: Suggest updating when the regex is not found (suggested in #5442 )
...
Reuse the same message from ExtractorError
2015-04-17 14:55:24 +02:00
Sergey M․
be531ef1ec
[utils] Fix splitunc deprecation warning
2015-04-16 22:12:38 +06:00
Yen Chi Hsuan
0a1603634b
[utils] Remove url_infer_protocol
2015-04-08 21:39:34 +08:00
Yen Chi Hsuan
418c5cc3fc
[udn] Add new extractor
2015-04-08 17:26:51 +08:00
Sergey M․
15ac8413c7
[utils] Avoid treating *-%Y
date template as UTC offset
2015-04-04 19:08:48 +06:00
Sergey M․
79c21abba7
[utils] Add one more template to unified_strdate
2015-04-04 18:45:46 +06:00
Sergey M․
ba9e68f402
[utils] Drop trailing comma before closing brace
2015-04-04 17:48:55 +06:00
Jaime Marquínez Ferrándiz
70a1165b32
Don't use bare 'except:'
...
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
2015-03-27 13:02:20 +01:00
Naglis Jonaitis
91757b0f37
[utils] Escape all HTML entities written in hexadecimal form
2015-03-26 17:15:27 +02:00
Sergey M․
92a4793b3c
[utils] Place sanitize url function near other sanitizing functions
2015-03-17 21:34:22 +06:00
Sergey M․
dc03a42537
Merge branch 'sohu_fix' of https://github.com/yan12125/youtube-dl into yan12125-sohu_fix
2015-03-17 21:18:36 +06:00
Sergey M․
2ebfeacabc
[utils] Keep dot and dotdot unmodified ( Closes #5171 )
2015-03-10 00:50:11 +06:00
Sergey M․
f18ef2d144
[utils] Disallow trailing dot in sanitize_path for a path part
2015-03-08 22:08:48 +06:00
Sergey M․
d55de57b67
[utils] Fix sanitize_open
2015-03-08 20:56:28 +06:00
Sergey M․
a2aaf4dbc6
[utils] Add sanitize_path
2015-03-08 20:55:22 +06:00
Yen Chi Hsuan
55969016e9
[utils] Add a function to sanitize consecutive slashes in URLs
2015-03-06 12:43:49 +08:00
Philipp Hagemeister
2461f79d2a
[utils] Correct per-request proxy handling
2015-03-03 13:56:06 +01:00
Philipp Hagemeister
91410c9bfa
[letv] Add --cn-verification-proxy ( Closes #5077 )
2015-03-03 00:03:06 +01:00
Philipp Hagemeister
a7440261c5
[utils] Streap leading dots
...
Fixes #2865 , closes #5087
2015-03-02 19:07:19 +01:00
Jaime Marquínez Ferrándiz
003c69a84b
Use shutil.get_terminal_size for getting the terminal width if it's available (python >= 3.3)
2015-02-28 21:44:57 +01:00
Philipp Hagemeister
3e675fabe0
[airmozilla] Be more tolerant when nonessential items are missing ( #5030 )
2015-02-26 01:25:00 +01:00
Philipp Hagemeister
183139340b
[utils] Bump our user agent
2015-02-26 00:40:12 +01:00
Philipp Hagemeister
5a42414b9c
[utils] Prevent hyphen at beginning of filename ( Fixes #5035 )
2015-02-24 11:38:01 +01:00
Philipp Hagemeister
8fb3ac3649
PEP8: W503
2015-02-21 14:55:13 +01:00
Philipp Hagemeister
c460bdd56b
[sandia] Add new extractor ( #4974 )
2015-02-19 00:31:01 +01:00
Philipp Hagemeister
d305dd73a3
[utils] Fix js_to_json
...
Previously, the runtime could be atrocious for longer inputs.
2015-02-18 23:59:51 +01:00
Yen Chi Hsuan
7105440cec
[Yam] Add new extractor
2015-02-13 15:14:23 +08:00
Philipp Hagemeister
08b38d5401
[camdemy] Simplify and make more robust ( #4938 )
...
Do not throw errors if view count or upload date extraction fails.
Dispose of re.MULTILINE, which had absolutely no effect without any ^ or $ in sight.
Follow PEP8 naming conventions.
2015-02-12 08:55:06 +01:00
Philipp Hagemeister
347de4931c
[YoutubeDL] Add generic video filtering ( Fixes #4916 )
...
This functionality is intended to eventually encompass the current format filtering.
2015-02-10 03:32:24 +01:00
Philipp Hagemeister
9bb8e0a3f9
[wsj] Add new extractor ( Fixes #4854 )
2015-02-03 10:58:28 +01:00
Philipp Hagemeister
8f4b58d70e
[ntvde] Add new extractor ( Fixes #4850 )
2015-02-02 21:48:54 +01:00
Philipp Hagemeister
8f9312c387
Appease pyflakes8-3
2015-02-01 11:30:56 +01:00
Jaime Marquínez Ferrándiz
4f264c02c7
[utils] YoutubeDLHTTPSHandler.https_open: pass all required arguments to do_open
...
With this change the '--no-check-certificate' works again (#4807 ).
2015-01-29 15:01:27 +01:00
Philipp Hagemeister
cfb56d1af3
Add --list-thumbnails
2015-01-25 02:43:19 +01:00
Jaime Marquínez Ferrándiz
3fcfb8e9fa
[utils] YoutubeDLHandler: don't use 'Youtubedl-user-agent' for overriding the default user agent
...
Setting the 'User-Agent' header is enough
2015-01-24 18:07:21 +01:00
Philipp Hagemeister
a055469faf
[downloader] Improve downloader selection
2015-01-23 23:50:31 +01:00
Philipp Hagemeister
aa42e87340
[utils] Catch strange Windows errors ( Closes #4733 )
2015-01-23 12:17:12 +01:00
Philipp Hagemeister
d79323136f
[utils] Simplify HTTPS socket creation
...
We were duplicating (bad) code and doing crazy things with SSL.
Just use TLSv1 across the board, and do with one implementation of HTTPSConnection.connect.
Fixes #4696 .
2015-01-23 11:15:18 +01:00
Philipp Hagemeister
ba655a0e4c
Merge remote-tracking branch 'derrotebaron/master'
2015-01-23 01:32:52 +01:00
Philipp Hagemeister
61ca9a80b3
[generic] Add support for BOMs ( Fixes #4753 )
2015-01-23 01:21:30 +01:00
Philipp Hagemeister
b55ee18ff3
[hearthisat] Add support for more high-quality download links
2015-01-22 12:04:13 +01:00
Philipp Hagemeister
9d22a7dfb0
[fourtube] Fix extraction
2015-01-16 13:44:44 +01:00
Philipp Hagemeister
be5f2c192c
[ssl] Correct connect creation
...
We want to authenticate the server, see https://docs.python.org/dev/library/ssl.html#ssl.Purpose.SERVER_AUTH .
2015-01-15 02:06:50 +01:00
Naglis Jonaitis
a69801e2c6
[utils] Add additional format to unified_strdate
2015-01-14 00:16:34 +02:00
Johannes Knoedtel
3d5f7a3947
[utils] Prevent override of custom headers.
...
The dict of headers of request objects in urllib has its keys always
capitalized.
This causes the lookup to fail and overwrite the header. If for example
a Extractor tries to add a "User-Agent" header the internal
representation in the request object is "User-agent". The header is
therefore clobbered by the "User-Agent" in std_headers, because the
strings are not equal.
2015-01-12 22:38:51 +01:00
Sergey M․
227d4822ff
[utils] Disallow non string types in parse_duration ( Closes #4679 )
2015-01-12 21:06:26 +06:00
Philipp Hagemeister
2aeb06d6dc
[utils] Improve colon handling ( Fixes #4683 )
2015-01-11 17:40:45 +01:00
Philipp Hagemeister
c5a59d9391
[utils] Fix call to _create_http_connection
...
Avoid confusion over args/kwargs.
2015-01-10 20:05:30 +01:00
Philipp Hagemeister
be4a824d74
Add new option --source-address
...
Closes #3618 , fixes #721 , fixes #2481 , fixes #4551 , closes #1020 .
2015-01-10 19:56:51 +01:00
Sergey M․
776dc3992a
[utils] Clarify more day-month-first ambiguous formats
2015-01-10 19:43:52 +06:00
Philipp Hagemeister
dd622d7c4e
[netzkino] Add new extractor ( Fixes #4669 )
2015-01-09 23:59:18 +01:00
Philipp Hagemeister
0590062925
Respect age_limit when listing extractors ( Fixes #4653 )
2015-01-07 07:20:20 +01:00
Jaime Marquínez Ferrándiz
1d2d0e3ff2
utils: Remove blank line at the end of file
2015-01-04 14:07:06 +01:00
Philipp Hagemeister
2ccd1b10e5
[soulanime] Fix under Python 3
2015-01-04 02:20:45 +01:00
Philipp Hagemeister
416c7fcbce
Add documentation about supported sites ( Fixes #4503 )
2014-12-30 19:35:35 +01:00
Philipp Hagemeister
7af808a5ef
Improve code style
2014-12-17 00:06:41 +01:00
Philipp Hagemeister
cae97f6521
Improve and test ffmpeg version detection
2014-12-14 21:59:59 +01:00
Philipp Hagemeister
2128b696b8
[utils] Do not make an exception for SSLv3
...
SSLv3 is terminally vulnerable to POODLE; web browsers are currently deprecating/removing it.
Closes #4459 , fixes #4294
2014-12-13 23:45:34 +01:00
Philipp Hagemeister
a23669220a
[utils] Make ssl work on Python 2.7.8
2014-12-13 23:27:21 +01:00
Jaime Marquínez Ferrándiz
293f0f39ce
[utils] make_HTTPS_handler: Remove try/except block that would always raise an exception
...
This code is only run for Python < 3.4, where context.load_default_certs doesn't exist
2014-12-12 23:43:25 +01:00
Jaime Marquínez Ferrándiz
0db261ba56
[utils] make_HTTPS_handler: Use ssl.create_default_context in Python 2.7.9
...
The new features in the ssl module have been backported from 3.4, see https://docs.python.org/dev/whatsnew/2.7.html#pep-466-network-security-enhancements-for-python-2-7
2014-12-12 23:35:17 +01:00
Philipp Hagemeister
f8780e6d11
Merge remote-tracking branch 'grompe/patch-1'
2014-12-12 11:35:04 +01:00
Philipp Hagemeister
e2f89ec7aa
Revert "[utils] Work around PyPy stupidity with Windows DLLs ( Fixes #4392 )"
...
This reverts commit 16040f46d6
.
2014-12-12 11:33:55 +01:00
Philipp Hagemeister
16040f46d6
[utils] Work around PyPy stupidity with Windows DLLs ( Fixes #4392 )
2014-12-12 04:01:08 +01:00
Philipp Hagemeister
42bdd9d051
[cinchcast] Add new extractor ( Fixes #4428 )
2014-12-12 02:57:36 +01:00
Philipp Hagemeister
f8795e102b
[utils] Add "yesterday" as a date keyword
2014-12-11 10:29:30 +01:00
Jaime Marquínez Ferrándiz
83e865a370
Fix PEP8 issue E713
2014-12-09 23:11:26 +01:00
Grom PE
6ac4e8065a
Fix utils.py for PyPy on Windows
...
The line
```python
from __future__ import unicode_literals
```
introduced in commit [ecc0c5ee01
](ecc0c5ee01
) broke youtube-dl for PyPy on Windows, making it unable to locate WinAPI functions.
Error: "TypeError: function name must be a string or integer"
Adding "b" prefix to strings with WinAPI function names fixes it.
2014-12-06 20:15:41 +07:00
Philipp Hagemeister
5f9b83944d
[ffmpeg] Improve version check and call it from hls ( Fixes #4377 )
2014-12-06 12:14:26 +01:00
Philipp Hagemeister
e8df5cee12
[minhateca] Fix duration parsing
2014-12-04 17:35:40 +01:00
Philipp Hagemeister
4349c07dd7
[minhateca] Add extractor ( Fixes #4094 )
2014-12-04 17:02:05 +01:00
Philipp Hagemeister
ab4ee31eb1
[utils] remove useless u prefix
2014-11-26 11:50:22 +01:00
Philipp Hagemeister
be64b5b098
[xminus] Simplify and extend ( #4302 )
2014-11-25 09:54:54 +01:00
Philipp Hagemeister
b74e86f48a
Fix all PEP8 issues except E501
2014-11-23 22:21:46 +01:00
Jouke Waleson
5f6a1245ff
PEP8 applied
2014-11-23 20:41:03 +01:00
Philipp Hagemeister
7d4111ed14
Provide guidance when called with a YouTube ID starting with a dash.
...
Reported at https://news.ycombinator.com/item?id=8648121
2014-11-23 10:51:09 +01:00
Philipp Hagemeister
732ea2f09b
[utils] Improve update on error message somewhat
...
We still may want to implement a bulletproof check for the current version, and a better place to add this message so that it works for all kind of other errors too.
2014-11-20 12:14:30 +01:00
Ivan Kozik
1394646a0a
Fix "ERROR: Cannot write metadata to JSON file" on Windows
...
Fixes #4246
2014-11-20 06:26:34 +00:00
Ivan Kozik
61ee5aeb73
Fix UnicodeEncodeError with --write-info-json on Python 2.7 + Windows
...
Fixes #4244
2014-11-20 06:26:34 +00:00
Jaime Marquínez Ferrándiz
92120217eb
[cache] Fix writing to paths with unicode characters
...
* Use "compat_getenv"
* "write_json_file" now expects the filename to be a string
2014-11-19 00:02:24 +01:00
Philipp Hagemeister
28e614de5c
[utils] Remove stray u'
2014-11-17 07:16:12 +01:00
Philipp Hagemeister
6a68bb574a
[eporner] Fix duration ( Closes #4188 )
2014-11-16 14:55:22 +01:00
Jaime Marquínez Ferrándiz
ec5f601670
[utils] Fix "write_json_file" for unicode names in python 2.x ( fixes #4125 )
2014-11-15 22:00:32 +01:00
Philipp Hagemeister
eb4157fd17
[utils] Fix struct.pack call on very old Python versions ( #4181 )
2014-11-14 00:39:32 +01:00
Philipp Hagemeister
609a61e3e6
[npo] Improve npo.nl ( Fixes #4173 )
2014-11-13 16:28:05 +01:00
Philipp Hagemeister
4c0924bb24
[utils] Fix intlist_to_bytes in Python 2 ( #4181 )
2014-11-13 15:28:42 +01:00
Philipp Hagemeister
4164f0117e
[utils] Remove unused import
2014-11-05 23:56:54 +01:00
Philipp Hagemeister
3828505646
[utils] Use a regexp instead of HTMLParser for get_element_by_attribute
2014-11-04 23:33:43 +01:00
Philipp Hagemeister
12ea2f30cf
[utils] Remove unused get_meta_content function
2014-11-04 23:20:39 +01:00
Jaime Marquínez Ferrándiz
4f195f55f0
Do not override stdlib html parser 'locatestarttagend' regex ( fixes #4081 )
...
'<a href="foo" ><img src="bar" / ></a>' wouldn't be parsed right (the problem is '/ >', '/>' worked fine).
We need to change it in python 2.6 (for example the description of youtube videos wouldn't be extracted).
2014-11-02 19:31:06 +01:00
Philipp Hagemeister
ecc0c5ee01
[utils] Modernize
2014-11-02 11:37:49 +01:00
Philipp Hagemeister
baa708036c
[compat] Fix imports
2014-11-02 11:26:40 +01:00
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 .
2014-11-02 11:23:42 +01:00
Philipp Hagemeister
9580711841
[ffmpeg] Move version detection to utils
2014-11-02 10:50:30 +01:00
Philipp Hagemeister
6ad4013d40
[drtv] Allow fractional timestamps ( Fixes #4059 )
2014-10-29 20:10:00 +01:00
Philipp Hagemeister
488447455d
[ffmpeg] Warn if ffmpeg/avconv version is too old ( Fixes #4026 )
2014-10-26 16:46:34 +01:00
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
2014-10-26 19:56:52 +07:00
Naglis Jonaitis
e9be9a6acd
[utils] Add additional format to unified_strdate
2014-10-04 22:38:23 +03:00
Philipp Hagemeister
d838b1bd4a
[utils] Default age_limit to None
...
If we can't parse it, it means we don't have any information, not that the content is unrestricted.
2014-10-03 20:17:12 +02:00
Sergey M․
146c80e256
[utils] Add parse_age_limit
2014-10-03 19:37:25 +07:00
Sergey M․
fc66e4a0d5
[utils] Add posix expanduser implementation and clarify the original source
2014-10-01 19:48:55 +07:00
Philipp Hagemeister
e7b6d12254
[utils] Improve and test js_to_json
2014-10-01 00:08:34 +02:00
Philipp Hagemeister
410f3e73ab
[utils] Fix js_to_json
2014-10-01 00:08:28 +02:00
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
2014-09-30 22:27:53 +07:00
Philipp Hagemeister
99b67fecc5
[arte] Fix upload date extraction
2014-09-29 12:45:18 +02:00
Philipp Hagemeister
989b4b2b86
[utils:YoutubeDLHandler] Work around brain-dead Python 2.6 httplib
...
In 2.6, the httplib sends fragments! Remove those (fixes generic_26 on 2.6).
2014-09-29 06:15:46 +02:00
Philipp Hagemeister
9c44d2429b
[vimeo:likes] Support large like lists ( Fixes #3847 )
2014-09-29 00:36:06 +02:00
Philipp Hagemeister
0003a5c416
Merge remote-tracking branch 'dstftw/escape-non-ascii-in-urls'
...
Conflicts:
test/test_utils.py
2014-09-15 15:40:10 +02:00
Philipp Hagemeister
a020a0dc20
[facebook] Fix support for untitled videos ( Fixes #3757 )
2014-09-15 15:10:24 +02:00
Sergey M․
984e8e14ea
[utils] Remove debug garbage
2014-09-13 21:08:04 +07:00
Sergey M․
d05cfe0600
[YoutubeDL/utils] Clarify rationale for URL escaping in comment, move escape routines to utils and add some tests
2014-09-13 20:59:16 +07:00
Philipp Hagemeister
d74bebd502
[utils] Apply 2.6 xpath craziness
...
This fixes ARD on 2.6
2014-09-13 09:11:14 +02:00
Philipp Hagemeister
bf0ff93277
[ard] Make more robust against missing thumbnails
...
I cannot reproduce this error, it's from travis.
2014-09-13 09:09:57 +02:00
Philipp Hagemeister
4eefbfdbfd
[utils] Fix find_xpath_attr on 2.6
2014-09-13 08:34:15 +02:00
Philipp Hagemeister
aa37e3d486
[utils] Default SSL to TLS. ( Fixes #3727 )
...
On 2.x, we now try TLS first, and fall back to the compat 23 (basically anything) afterwards.
On 3.4+, we now use the proper function so that we get all the latest security configurations.
We allow SSLv3 though for the time being, since a lot of older pages use that.
On 3.3, we default to SSLv23 (basically "anything, including TLS") because that has the widest compatibility.
2014-09-12 07:50:31 +02:00
Philipp Hagemeister
a0e07d3161
[youtube] Move cache into its own module
2014-09-03 17:29:19 +02:00
Sergey M․
f164038b79
[utils] Make parse_duration case insensitive
2014-09-03 21:03:36 +07:00
Sergey M․
884ae74785
[tvigle] Adapt to the new API
2014-09-03 19:59:36 +07:00
Philipp Hagemeister
2582bebe06
[utils] Use flock instead of lockf ( Fixes #3621 )
2014-09-01 01:41:25 +02:00
Philipp Hagemeister
48d4681efc
[eporner] Simplify and correct ( #3629 )
2014-08-31 23:56:14 +02:00
Sergey M․
ca7b3246b6
[utils] Improve parse_duration
2014-08-31 06:41:30 +07:00
Philipp Hagemeister
4e408e479b
[utils] Modernize tests
2014-08-27 19:11:45 +02:00