forked from STI/Astroport.ONE
80 lines
1.4 KiB
Python
80 lines
1.4 KiB
Python
|
"""
|
||
|
requests.compat
|
||
|
~~~~~~~~~~~~~~~
|
||
|
|
||
|
This module previously handled import compatibility issues
|
||
|
between Python 2 and Python 3. It remains for backwards
|
||
|
compatibility until the next major version.
|
||
|
"""
|
||
|
|
||
|
try:
|
||
|
import chardet
|
||
|
except ImportError:
|
||
|
import charset_normalizer as chardet
|
||
|
|
||
|
import sys
|
||
|
|
||
|
# -------
|
||
|
# Pythons
|
||
|
# -------
|
||
|
|
||
|
# Syntax sugar.
|
||
|
_ver = sys.version_info
|
||
|
|
||
|
#: Python 2.x?
|
||
|
is_py2 = _ver[0] == 2
|
||
|
|
||
|
#: Python 3.x?
|
||
|
is_py3 = _ver[0] == 3
|
||
|
|
||
|
# json/simplejson module import resolution
|
||
|
has_simplejson = False
|
||
|
try:
|
||
|
import simplejson as json
|
||
|
|
||
|
has_simplejson = True
|
||
|
except ImportError:
|
||
|
import json
|
||
|
|
||
|
if has_simplejson:
|
||
|
from simplejson import JSONDecodeError
|
||
|
else:
|
||
|
from json import JSONDecodeError
|
||
|
|
||
|
# Keep OrderedDict for backwards compatibility.
|
||
|
from collections import OrderedDict
|
||
|
from collections.abc import Callable, Mapping, MutableMapping
|
||
|
from http import cookiejar as cookielib
|
||
|
from http.cookies import Morsel
|
||
|
from io import StringIO
|
||
|
|
||
|
# --------------
|
||
|
# Legacy Imports
|
||
|
# --------------
|
||
|
from urllib.parse import (
|
||
|
quote,
|
||
|
quote_plus,
|
||
|
unquote,
|
||
|
unquote_plus,
|
||
|
urldefrag,
|
||
|
urlencode,
|
||
|
urljoin,
|
||
|
urlparse,
|
||
|
urlsplit,
|
||
|
urlunparse,
|
||
|
)
|
||
|
from urllib.request import (
|
||
|
getproxies,
|
||
|
getproxies_environment,
|
||
|
parse_http_list,
|
||
|
proxy_bypass,
|
||
|
proxy_bypass_environment,
|
||
|
)
|
||
|
|
||
|
builtin_str = str
|
||
|
str = str
|
||
|
bytes = bytes
|
||
|
basestring = (str, bytes)
|
||
|
numeric_types = (int, float)
|
||
|
integer_types = (int,)
|