609ff8ca19
[utils] Support attributes with no values in get_elements_by_attribute()
2017-07-05 23:27:12 +08:00
aefce8e6dc
[utils] Use compat_shlex_quote in shell_quote
2017-06-17 23:48:58 +07:00
b4a3d461e4
[utils] Handle HTMLParseError in extract_attributes ( closes #13349 )
2017-06-12 01:52:24 +07:00
2ae2ffda5e
[utils] Improve unified_timestamp
2017-06-11 21:27:22 +07:00
b407d8533d
[utils] Drop an compatibility wrapper for Python < 2.6
...
addinfourl.getcode is added since Python 2.6a1. As youtube-dl now
requires 2.6+, this is no longer necessary.
See 9b0d46db11
2017-05-27 23:05:02 +08:00
5552c9eb0f
[utils] Recognize more patterns in strip_jsonp()
...
Used in Youku Show pages
2017-05-26 21:58:18 +08:00
60f5c9fb19
[utils] Recognize more audio codecs ( #13081 )
2017-05-14 12:33:33 +07:00
10c87c151b
[utils] Rename try_multipart_encode to _multipart_encode_impl
...
To state that this is an internal function and people should be careful
when using it outside youtube-dl.
2017-05-06 19:06:18 +08:00
b2ad479d17
[utils] Fix multipart_encode for Python < 3.5
2017-05-05 20:51:59 +08:00
c89267d31a
Merge branch 'master' into openload-phantomjs-method
2017-05-04 11:00:06 +02:00
0c26548601
[cda] Implement birthday verification ( closes #12789 )
2017-05-04 16:26:17 +08:00
deef31955b
[utils] Improve unified_timestamp
...
Seen at http://zaq1.pl/video/xev0e
2017-04-30 21:45:53 +07:00
98ce1a3fd3
[utils] add video/mp2t to mimetype2ext
2017-04-30 09:03:10 +01:00
98f9d87381
[phantomjs] Add required version checking
2017-04-29 12:41:42 +02:00
edd9221cd2
[utils] Fix inconsistent output of clean_html
...
`\s` in Python 2.x doesn't match unicode whitespace characters by
default
2017-04-28 17:34:27 +02:00
40e41780f1
[phantomjs] add cookie support
2017-04-25 15:12:54 +02:00
da57ebaf84
[openload] separate PhantomJS code from extractor
2017-04-25 01:06:14 +02:00
5b995f713b
[utils] add support for ttml styles
2017-04-19 14:38:40 +01:00
a32a9a7ef5
[extractor/common] Add support multiple getters in try_get
2017-04-18 22:39:58 +07:00
51098426b8
[utils] Introduce expand_path
2017-03-26 02:30:10 +07:00
4b5de77bdb
[utils] Process bytestrings in urljoin ( closes #12369 )
2017-03-06 03:57:46 +07:00
158af5242e
[utils] Carry long doc string
2017-03-01 23:04:02 +07:00
0a5445ddbe
[utils] Add bytes_to_long() and long_to_bytes()
...
Used in daisuki.net (#4738 )
Both are adapted from public domain PyCrypto:
https://github.com/dlitz/pycrypto/blob/master/lib/Crypto/Util/number.py
2017-02-28 22:10:31 +08:00
f48409c7ac
[utils] Add pkcs1pad
...
Used in daisuki.net (#4738 )
2017-02-28 22:10:31 +08:00
4248dad92b
Improve geo bypass mechanism
...
* Rename options to preffixly match with --geo-verification-proxy
* Introduce _GEO_COUNTRIES for extractors
* Implement faking IP right away for sites with known geo restriction
2017-02-19 05:10:08 +08:00
18a0defab0
[utils] Make random_ipv4 return unicode string
2017-02-19 05:10:08 +08:00
773f291dcb
Add experimental geo restriction bypass mechanism
...
Based on faking X-Forwarded-For HTTP header
2017-02-19 05:10:08 +08:00
bf5b9d859a
[utils] Introduce YoutubeDLError base class for all youtube-dl exceptions
2017-02-19 05:10:08 +08:00
db13c16ef8
[utils] Add support for quoted string literals in --match-filter ( closes #8050 , closes #12142 , closes #12144 )
2017-02-15 23:12:10 +07:00
2f49bcd690
utils.py: Workaround TypeError with Python 2.7.13 in Windows
...
Fixes #11540
Tested with Windows Python 2.7.12 and 2.7.13.
2017-02-11 14:51:28 +00:00
2af12ad9d2
Introduce get_elements_by_class and get_elements_by_attribute utility functions
2017-02-11 17:16:54 +08:00
4195096ea8
[utils] Improve comments processing in js_to_json ( closes #11947 )
2017-02-03 03:04:33 +07:00
b3ee552e4b
[utils] Handle single-line comments in js_to_json
2017-02-03 03:04:33 +07:00
15846398ca
[utils] Improve parse_duration
2017-01-26 23:23:08 +07:00
0c1c6f4b9f
[utils] Add another date format seen in NextTV
2017-01-23 23:37:32 +08:00
cb655f34fb
[utils] Add more date formats
2017-01-12 22:39:45 +07:00
ec85ded83c
Fix "invalid escape sequences" error on Python 3.6
2017-01-06 00:58:56 +08:00
b0c65c677f
[utils] Improve urljoin
2016-12-17 18:49:55 +07:00
e34c33614d
[utils] Add convenience urljoin
2016-12-13 02:23:49 +07:00
fb37eb25d9
[utils] Add common user agents map
2016-12-12 00:49:07 +07:00
02dc0a36b7
[utils] Introduce base_url
2016-11-02 02:30:18 +07:00
e5a088dc4b
[utils] Fix --match-filter for int-like strings ( closes #11082 )
2016-10-31 23:32:08 +07:00
b64d04c119
[utils] Clarify for redirecting STDIN in get_exe_version()
2016-10-22 13:04:05 +08:00
00ca755231
[get_exe_version] Do version probes with <&-
...
When doing version probes for ffmpeg, do the
equivalent of calling it as:
ffmpeg -version <&-
Where <&- is shell syntax for closing stdin before calling the
program. This is roughly equivalent to </dev/null without actually
opening /dev/null.
This prevents ffmpeg -version from hanging when run in the background.
Fixes #955 .
The reason is that ffmpeg tries to manipulate stdin to set up terminal
characteristic, and that causes the kernel to suspend the parent
process (youtube-dl).
Note that closing stdin is achieved by calling subprocess.Popen() with
stdin set to subprocess.PIPE and without passing any input to
Popen.communicate(). This is somewhat subtle.
2016-10-22 00:34:08 -04:00
06b3fe2926
[utils] Expose PACKED_CODES_RE
2016-10-19 23:28:49 +07:00
dcdb292fdd
Unify coding cookie
2016-10-03 23:44:29 +07:00
bd26441205
[utils] Fix xattr error handling
2016-10-02 03:03:41 +08:00
53a7e3d287
[utils] Support xattr as well as pyxattr
...
Closes #9054
There are two xattr packages in Python, pyxattr [1] and xattr [2]. They
have different APIs.
In old days pyxattr supports Linux only and xattr supports Linux, Mac,
FreeBSD and Solaris, and pyxattr supports Linux only. Recently pyxattr
adds support for Mac OS X. [3]
An old version of [2] is shipped with Mac OS X. However, some Linux
distributions have pyxattr only, for example PLD-Linux [4] and old Arch
Linux. [5] As a result, supporting both is the way to go.
[1] https://github.com/iustin/pyxattr
[2] https://github.com/xattr/xattr
[3] https://github.com/iustin/pyxattr/pull/9
[4] https://github.com/rg3/youtube-dl/issues/5498
[5] https://git.archlinux.org/svntogit/community.git/commit/?id=427c4c76401e386d865ccddea4fbfdc74df80492
https://git.archlinux.org/svntogit/community.git/commit/?id=59b40da7b69622a6761d364a8b07909e9cccaa56
python-xattr is added on 2016/06/29 while pyxattr is there for more
than 6 years
2016-10-01 20:13:04 +08:00
c6eed6b8c0
[utils] Lower priority for rare date formats and add tests
2016-09-29 23:52:29 +07:00
3aa3953d28
[vk] Fix date and view count extraction.
2016-09-29 23:52:29 +07:00