Commit Graph

562 Commits (62c06c593d19c1314c84639128bb3354665399bb)

Author SHA1 Message Date
Yen Chi Hsuan 95f3f7c20a
[utils] Fix unescapeHTML for misformed string like "&a"" (#13935) 7 years ago
Sergey M․ 5b232f46dc
[utils] Skip missing params in cli_bool_option (closes #13865) 7 years ago
Yen Chi Hsuan 609ff8ca19 [utils] Support attributes with no values in get_elements_by_attribute() 8 years ago
Sergey M․ aefce8e6dc
[utils] Use compat_shlex_quote in shell_quote 8 years ago
Sergey M․ b4a3d461e4
[utils] Handle HTMLParseError in extract_attributes (closes #13349) 8 years ago
Sergey M․ 2ae2ffda5e
[utils] Improve unified_timestamp 8 years ago
Yen Chi Hsuan 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
8 years ago
Yen Chi Hsuan 5552c9eb0f
[utils] Recognize more patterns in strip_jsonp()
Used in Youku Show pages
8 years ago
Sergey M․ 60f5c9fb19
[utils] Recognize more audio codecs (#13081) 8 years ago
Yen Chi Hsuan 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.
8 years ago
Yen Chi Hsuan b2ad479d17
[utils] Fix multipart_encode for Python < 3.5 8 years ago
Yen Chi Hsuan 0c26548601
[cda] Implement birthday verification (closes #12789) 8 years ago
Sergey M․ deef31955b
[utils] Improve unified_timestamp
Seen at http://zaq1.pl/video/xev0e
8 years ago
Remita Amine 98ce1a3fd3 [utils] add video/mp2t to mimetype2ext 8 years ago
Tithen-Firion edd9221cd2 [utils] Fix inconsistent output of clean_html
`\s` in Python 2.x doesn't match unicode whitespace characters by
default
8 years ago
Remita Amine 5b995f713b [utils] add support for ttml styles 8 years ago
Sergey M․ a32a9a7ef5
[extractor/common] Add support multiple getters in try_get 8 years ago
Sergey M․ 51098426b8
[utils] Introduce expand_path 8 years ago
Sergey M․ 4b5de77bdb
[utils] Process bytestrings in urljoin (closes #12369) 8 years ago
Sergey M․ 158af5242e
[utils] Carry long doc string 8 years ago
Yen Chi Hsuan 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
8 years ago
Yen Chi Hsuan f48409c7ac [utils] Add pkcs1pad
Used in daisuki.net (#4738)
8 years ago
Sergey M․ 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
8 years ago
Sergey M․ 18a0defab0 [utils] Make random_ipv4 return unicode string 8 years ago
Sergey M․ 773f291dcb Add experimental geo restriction bypass mechanism
Based on faking X-Forwarded-For HTTP header
8 years ago
Pierre Mdawar bf5b9d859a [utils] Introduce YoutubeDLError base class for all youtube-dl exceptions 8 years ago
Sergey M․ db13c16ef8
[utils] Add support for quoted string literals in --match-filter (closes #8050, closes #12142, closes #12144) 8 years ago
Ricardo Constantino 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.
8 years ago
Thomas Christlieb 2af12ad9d2 Introduce get_elements_by_class and get_elements_by_attribute utility functions 8 years ago
Sergey M․ 4195096ea8
[utils] Improve comments processing in js_to_json (closes #11947) 8 years ago
Michal Čihař b3ee552e4b
[utils] Handle single-line comments in js_to_json 8 years ago
Sergey M․ 15846398ca
[utils] Improve parse_duration 8 years ago
Yen Chi Hsuan 0c1c6f4b9f
[utils] Add another date format seen in NextTV 8 years ago
Sergey M․ cb655f34fb
[utils] Add more date formats 8 years ago
Yen Chi Hsuan ec85ded83c
Fix "invalid escape sequences" error on Python 3.6 8 years ago
Sergey M․ b0c65c677f
[utils] Improve urljoin 8 years ago
Sergey M․ e34c33614d
[utils] Add convenience urljoin 8 years ago
Sergey M․ fb37eb25d9
[utils] Add common user agents map 8 years ago
Sergey M․ 02dc0a36b7
[utils] Introduce base_url 8 years ago
Sergey M․ e5a088dc4b
[utils] Fix --match-filter for int-like strings (closes #11082) 8 years ago
Yen Chi Hsuan b64d04c119
[utils] Clarify for redirecting STDIN in get_exe_version() 8 years ago
John Hawkinson 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.
8 years ago
Sergey M․ 06b3fe2926
[utils] Expose PACKED_CODES_RE 8 years ago
Déstin Reed dcdb292fdd
Unify coding cookie 8 years ago
Yen Chi Hsuan bd26441205
[utils] Fix xattr error handling 8 years ago
Yen Chi Hsuan 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
8 years ago
Sergey M․ c6eed6b8c0
[utils] Lower priority for rare date formats and add tests 8 years ago
Kacper Michajłow 3aa3953d28
[vk] Fix date and view count extraction. 8 years ago
Yen Chi Hsuan efa97bdcf1
Move write_xattr to utils.py
There are some other places that use xattr functions. It's better to
move it to a common place so that others can use it.
8 years ago
Sergey M․ 3e4185c396
[utils] Use native french month names 8 years ago