projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #8092 from bpfoley/twitter-thumbnail
[youtube-dl]
/
youtube_dl
/
compat.py
diff --git
a/youtube_dl/compat.py
b/youtube_dl/compat.py
index 8ab6880011f6084cc1b28d928dec904740c0c6ff..74702786a76ee612a7f9ec91567752e22e70eda6 100644
(file)
--- a/
youtube_dl/compat.py
+++ b/
youtube_dl/compat.py
@@
-77,6
+77,11
@@
try:
except ImportError: # Python 2
from urllib import urlretrieve as compat_urlretrieve
except ImportError: # Python 2
from urllib import urlretrieve as compat_urlretrieve
+try:
+ from html.parser import HTMLParser as compat_HTMLParser
+except ImportError: # Python 2
+ from HTMLParser import HTMLParser as compat_HTMLParser
+
try:
from subprocess import DEVNULL
try:
from subprocess import DEVNULL
@@
-181,20
+186,20
@@
except ImportError: # Python < 3.4
# parameter := attribute "=" value
url = req.get_full_url()
# parameter := attribute "=" value
url = req.get_full_url()
- scheme, data = url.split(
":"
, 1)
- mediatype, data = data.split(
","
, 1)
+ scheme, data = url.split(
':'
, 1)
+ mediatype, data = data.split(
','
, 1)
# even base64 encoded data URLs might be quoted so unquote in any case:
data = compat_urllib_parse_unquote_to_bytes(data)
# even base64 encoded data URLs might be quoted so unquote in any case:
data = compat_urllib_parse_unquote_to_bytes(data)
- if mediatype.endswith(
";base64"
):
+ if mediatype.endswith(
';base64'
):
data = binascii.a2b_base64(data)
mediatype = mediatype[:-7]
if not mediatype:
data = binascii.a2b_base64(data)
mediatype = mediatype[:-7]
if not mediatype:
- mediatype =
"text/plain;charset=US-ASCII"
+ mediatype =
'text/plain;charset=US-ASCII'
headers = email.message_from_string(
headers = email.message_from_string(
-
"Content-type: %s\nContent-length: %d\n"
% (mediatype, len(data)))
+
'Content-type: %s\nContent-length: %d\n'
% (mediatype, len(data)))
return compat_urllib_response.addinfourl(io.BytesIO(data), headers, url)
return compat_urllib_response.addinfourl(io.BytesIO(data), headers, url)
@@
-268,7
+273,7
@@
except ImportError: # Python 2
nv = name_value.split('=', 1)
if len(nv) != 2:
if strict_parsing:
nv = name_value.split('=', 1)
if len(nv) != 2:
if strict_parsing:
- raise ValueError(
"bad query field: %r"
% (name_value,))
+ raise ValueError(
'bad query field: %r'
% (name_value,))
# Handle case of a control-name with no equal sign
if keep_blank_values:
nv.append('')
# Handle case of a control-name with no equal sign
if keep_blank_values:
nv.append('')
@@
-326,6
+331,9
@@
def compat_ord(c):
return ord(c)
return ord(c)
+compat_os_name = os._name if os.name == 'java' else os.name
+
+
if sys.version_info >= (3, 0):
compat_getenv = os.getenv
compat_expanduser = os.path.expanduser
if sys.version_info >= (3, 0):
compat_getenv = os.getenv
compat_expanduser = os.path.expanduser
@@
-346,7
+354,7
@@
else:
# The following are os.path.expanduser implementations from cpython 2.7.8 stdlib
# for different platforms with correct environment variables decoding.
# The following are os.path.expanduser implementations from cpython 2.7.8 stdlib
# for different platforms with correct environment variables decoding.
- if
os.
name == 'posix':
+ if
compat_os_
name == 'posix':
def compat_expanduser(path):
"""Expand ~ and ~user constructions. If user or $HOME is unknown,
do nothing."""
def compat_expanduser(path):
"""Expand ~ and ~user constructions. If user or $HOME is unknown,
do nothing."""
@@
-370,7
+378,7
@@
else:
userhome = pwent.pw_dir
userhome = userhome.rstrip('/')
return (userhome + path[i:]) or '/'
userhome = pwent.pw_dir
userhome = userhome.rstrip('/')
return (userhome + path[i:]) or '/'
- elif
os.name == 'nt' or os.
name == 'ce':
+ elif
compat_os_name == 'nt' or compat_os_
name == 'ce':
def compat_expanduser(path):
"""Expand ~ and ~user constructs.
def compat_expanduser(path):
"""Expand ~ and ~user constructs.
@@
-466,7
+474,7
@@
if sys.version_info < (2, 7):
if err is not None:
raise err
else:
if err is not None:
raise err
else:
- raise socket.error(
"getaddrinfo returns an empty list"
)
+ raise socket.error(
'getaddrinfo returns an empty list'
)
else:
compat_socket_create_connection = socket.create_connection
else:
compat_socket_create_connection = socket.create_connection
@@
-540,6
+548,7
@@
else:
from tokenize import generate_tokens as compat_tokenize_tokenize
__all__ = [
from tokenize import generate_tokens as compat_tokenize_tokenize
__all__ = [
+ 'compat_HTMLParser',
'compat_HTTPError',
'compat_basestring',
'compat_chr',
'compat_HTTPError',
'compat_basestring',
'compat_chr',
@@
-556,6
+565,7
@@
__all__ = [
'compat_itertools_count',
'compat_kwargs',
'compat_ord',
'compat_itertools_count',
'compat_kwargs',
'compat_ord',
+ 'compat_os_name',
'compat_parse_qs',
'compat_print',
'compat_shlex_split',
'compat_parse_qs',
'compat_print',
'compat_shlex_split',