1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| """
| 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,)
|
|