24 import xml
.etree
.ElementTree
as etree
27 import asyncio
# noqa: F401
28 import re
# noqa: F401
29 from asyncio
import run
as compat_asyncio_run
# noqa: F401
30 from re
import Pattern
as compat_Pattern
# noqa: F401
31 from re
import match
as compat_Match
# noqa: F401
33 from . import compat_expanduser
, compat_HTMLParseError
34 from .compat_utils
import passthrough_module
35 from ..dependencies
import brotli
as compat_brotli
# noqa: F401
36 from ..dependencies
import websockets
as compat_websockets
# noqa: F401
37 from ..dependencies
.Cryptodome
import AES
as compat_pycrypto_AES
# noqa: F401
38 from ..networking
.exceptions
import HTTPError
as compat_HTTPError
40 passthrough_module(__name__
, '...utils', ('WINDOWS_VT_MODE', 'windows_enable_vt_mode'))
43 # compat_ctypes_WINFUNCTYPE = ctypes.WINFUNCTYPE
44 # will not work since ctypes.WINFUNCTYPE does not exist in UNIX machines
45 def compat_ctypes_WINFUNCTYPE(*args
, **kwargs
):
46 return ctypes
.WINFUNCTYPE(*args
, **kwargs
)
49 def compat_setenv(key
, value
, env
=os
.environ
):
53 compat_base64_b64decode
= base64
.b64decode
54 compat_basestring
= str
55 compat_casefold
= str.casefold
57 compat_collections_abc
= collections
.abc
58 compat_cookiejar
= compat_http_cookiejar
= http
.cookiejar
59 compat_cookiejar_Cookie
= compat_http_cookiejar_Cookie
= http
.cookiejar
.Cookie
60 compat_cookies
= compat_http_cookies
= http
.cookies
61 compat_cookies_SimpleCookie
= compat_http_cookies_SimpleCookie
= http
.cookies
.SimpleCookie
62 compat_etree_Element
= compat_xml_etree_ElementTree_Element
= etree
.Element
63 compat_etree_register_namespace
= compat_xml_etree_register_namespace
= etree
.register_namespace
64 compat_filter
= filter
65 compat_get_terminal_size
= shutil
.get_terminal_size
66 compat_getenv
= os
.getenv
67 compat_getpass
= compat_getpass_getpass
= getpass
.getpass
68 compat_html_entities
= html
.entities
69 compat_html_entities_html5
= html
.entities
.html5
70 compat_html_parser_HTMLParseError
= compat_HTMLParseError
71 compat_HTMLParser
= compat_html_parser_HTMLParser
= html
.parser
.HTMLParser
72 compat_http_client
= http
.client
73 compat_http_server
= http
.server
75 compat_integer_types
= (int, )
76 compat_itertools_count
= itertools
.count
77 compat_kwargs
= lambda kwargs
: kwargs
79 compat_numeric_types
= (int, float, complex)
80 compat_os_path_expanduser
= compat_expanduser
81 compat_os_path_realpath
= os
.path
.realpath
83 compat_shlex_split
= shlex
.split
84 compat_socket_create_connection
= socket
.create_connection
85 compat_Struct
= struct
.Struct
86 compat_struct_pack
= struct
.pack
87 compat_struct_unpack
= struct
.unpack
88 compat_subprocess_get_DEVNULL
= lambda: subprocess
.DEVNULL
89 compat_tokenize_tokenize
= tokenize
.tokenize
90 compat_urllib_error
= urllib
.error
91 compat_urllib_HTTPError
= compat_HTTPError
92 compat_urllib_parse
= urllib
.parse
93 compat_urllib_parse_parse_qs
= urllib
.parse
.parse_qs
94 compat_urllib_parse_quote
= urllib
.parse
.quote
95 compat_urllib_parse_quote_plus
= urllib
.parse
.quote_plus
96 compat_urllib_parse_unquote_plus
= urllib
.parse
.unquote_plus
97 compat_urllib_parse_unquote_to_bytes
= urllib
.parse
.unquote_to_bytes
98 compat_urllib_parse_urlunparse
= urllib
.parse
.urlunparse
99 compat_urllib_request
= urllib
.request
100 compat_urllib_request_DataHandler
= urllib
.request
.DataHandler
101 compat_urllib_response
= urllib
.response
102 compat_urlretrieve
= compat_urllib_request_urlretrieve
= urllib
.request
.urlretrieve
103 compat_xml_parse_error
= compat_xml_etree_ElementTree_ParseError
= etree
.ParseError
104 compat_xpath
= lambda xpath
: xpath
106 workaround_optparse_bug9161
= lambda: None
108 compat_b64decode
= base64
.b64decode
109 compat_urlparse
= urllib
.parse
110 compat_parse_qs
= urllib
.parse
.parse_qs
111 compat_urllib_parse_unquote
= urllib
.parse
.unquote
112 compat_urllib_parse_urlencode
= urllib
.parse
.urlencode
113 compat_urllib_parse_urlparse
= urllib
.parse
.urlparse