Commit Graph

108 Commits (e8198c517b70301dd5a459927b5d5976304d6482)

Author SHA1 Message Date
Sergey M․ 57f7e3c62d [compat] Add compat_xpath 9 years ago
remitamine 83548824c2 Merge pull request #8092 from bpfoley/twitter-thumbnail
[utils] Add extract_attributes for extracting html tag attributes
9 years ago
Yen Chi Hsuan e9c0cdd389 [jython] Introduce compat_os_name
os.name is always 'java' on Jython
9 years ago
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
Sergey M․ 611c1dd96e [refactor] Single quotes consistency 9 years ago
Yen Chi Hsuan 614db89ae3 [compat] Clarify the versions requiring compat_kwargs
It's supported since 2.7.0 alpha 1 and 2.6.5 rc 1. See
https://hg.python.org/cpython/file/v2.7a1/Misc/NEWS#l337
https://hg.python.org/cpython/file/v2.6.5rc1/Misc/NEWS#l28
9 years ago
Sergey M․ 67dda51722 Rename compat_urllib_request_Request to sanitized_Request and move to utils 9 years ago
Sergey M․ 13a10d5aa3 [compat] Add compat_urllib_request_Request
This is actually not a compatibility routine but rather a workaround for URLs without protocol specified.
The protocol-less URL is treated as HTTP one since it's most probable scenario and it will most likely to
redirect to HTTPS if HTTPS was actually expected. This routine could also be useful for any Request
preprocessing that may be added in future.
9 years ago
Jaime Marquínez Ferrándiz ae37338e68 [compat] compat_etree_fromstring: clarify comment 9 years ago
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.
9 years ago
Jaime Marquínez Ferrándiz 387db16a78 [compat] compat_etree_fromstring: only decode bytes objects 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
Yen Chi Hsuan 0a67a3632b [compat] Add compat_urllib_request_DataHandler 9 years ago
Sergey M․ f2dbc54066 [compat] Fix wrong lines/columns order
stty size is rows x columns
9 years ago
Philipp Hagemeister 4810c48d6d [compat] Do not compare None <= 0
The result is meaningless (and it emits a warning in cpython2 when called with -3), so handle None before making integer comparisons.
9 years ago
Yen Chi Hsuan 13118a50b8 [compat] Allow overriding by only COLUMNS or LINES in compat_get_terminal_size
Now the semantic of this function is identical to
shutil.get_terminal_size() in Python 3.3+. The new behavior also
corresponds to the old get_term_width(), which is removed in
003c69a84b
9 years ago
Philipp Hagemeister 953fed280f [compat] Do not use unicode
If the code ever runs on 3.x, it would fail. Even if it never does, the unicode name confuses Python 3 code analysis tools.
9 years ago
Sergey M․ 8df5ae15d1 [compat] Fix python version check for compat_shlex_split 9 years ago
Sergey M․ 51f579b635 [compat] Add compat shlex.split 9 years ago
Jaime Marquínez Ferrándiz 03950c90f7 Merge remote-tracking branch 'jaimemf/format_spec_groups' (closes #6124) 10 years ago
remitamine 799207e838 [viewster] extract the api auth token
Closes #6406.
10 years ago
Sergey M․ 22603348aa [compat] Fix _asciire 10 years ago
Sergey M․ 3cc8b4c327 [compat] Fix missing _asciire on python 2.6 10 years ago
Sergey M․ 4d08161ac2 [compat] Mention unquote_plus 10 years ago
Sergey M․ aa99aa4e85 [compat] Add compat_urllib_parse_unquote_plus 10 years ago
Sergey M․ 5513967926 [compat] Simplify and use latest cpython 3 code 10 years ago
fnord 593b77064c Don't forget trailing '%' 10 years ago
fnord 9fefc88656 fix TestCompat test_all_present 10 years ago
fnord a0f28f90fa remove kebab 10 years ago
fnord 851229a01f remove debugprint 10 years ago
fnord c9c854cea7 replace old compat_urllib_parse_unquote with backport from python3's function
* required unquote_to_bytes function ported as well
    (uses .decode('hex') instead of dynamically populated _hextobyte global)
  * required implicit conversion to bytes and/or unicode in places due to
    differing type assumptions in p3
10 years ago
fnord e37c932fca compat_urllib_parse_unquote: crash fix: only decode valid hex
on python 2 the following has a { "crash_rate": "100%" } of the time
as it tries to parse '" ' as hex.
10 years ago
Yen Chi Hsuan a0e060ac1e [compat] Add compat_itertools_count
'step' parameter is added in Python 2.7
10 years ago
Jaime Marquínez Ferrándiz 67134eaba1 [YoutubeDL] rework how the format spec is processed
The spec string is processed using 'tokenize.tokenize' to split it in words and operators, the filters are still processed using regular expressions.
This should make easier to allow grouping operators with parens.
10 years ago
Jaime Marquínez Ferrándiz 2ddcd88129 Remove code that was only used by the Grooveshark extractor 10 years ago
Jaime Marquínez Ferrándiz 70a1165b32 Don't use bare 'except:'
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
10 years ago
Jaime Marquínez Ferrándiz 003c69a84b Use shutil.get_terminal_size for getting the terminal width if it's available (python >= 3.3) 10 years ago
Philipp Hagemeister 0196149c5b [compat] Correct compat_basestring definition 10 years ago
Philipp Hagemeister 8f9312c387 Appease pyflakes8-3 10 years ago
Philipp Hagemeister 83fda3c000 Add a test for --no-check-certificate 10 years ago
Philipp Hagemeister 8ad6b5ed9f [compat] Correct socket error class reference 10 years ago
Sergey M․ 987493aef3 [test_compat] Fix alphabetic order to make test_all_present pass 10 years ago
Philipp Hagemeister be4a824d74 Add new option --source-address
Closes #3618, fixes #721, fixes #2481, fixes #4551, closes #1020.
10 years ago
Philipp Hagemeister c6973bd412 [compat] Simplify kwarg detection code
This enables nuitka to compile youtube-dl.
10 years ago
Philipp Hagemeister e2f89ec7aa Revert "[utils] Work around PyPy stupidity with Windows DLLs (Fixes #4392)"
This reverts commit 16040f46d6.
10 years ago
Philipp Hagemeister 16040f46d6 [utils] Work around PyPy stupidity with Windows DLLs (Fixes #4392) 10 years ago
Jaime Marquínez Ferrándiz 83e865a370 Fix PEP8 issue E713 10 years ago
Philipp Hagemeister b061ea6e9f [compat] Beautify assertion 10 years ago
Jouke Waleson 9e1a5b8455 PEP8: applied even more rules 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 b244b5c3f9 remove unused imports 10 years ago
Philipp Hagemeister 07e378fa18 [compat] correct OptionGroup invocation for Python 3 (fixes #4243) 10 years ago
Philipp Hagemeister e07e931375 Work around 2.7.0 deficencies (Fixes #4223) 10 years ago
Philipp Hagemeister c7b0add86f [compat] Work around kwargs bugs in old 2.6 Python releases (Fixes #3813) 10 years ago
Philipp Hagemeister 451948b28c [compat] Modernize 10 years ago
Philipp Hagemeister baa708036c [compat] Fix imports 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