22 import xml
.etree
.ElementTree
as etree
23 from subprocess
import DEVNULL
25 from .compat_utils
import passthrough_module
# isort: split
26 from .asyncio
import run
as compat_asyncio_run
# noqa: F401
27 from .re
import Pattern
as compat_Pattern
# noqa: F401
28 from .re
import match
as compat_Match
# noqa: F401
29 from ..dependencies
import Cryptodome_AES
as compat_pycrypto_AES
# noqa: F401
30 from ..dependencies
import brotli
as compat_brotli
# noqa: F401
31 from ..dependencies
import websockets
as compat_websockets
# noqa: F401
33 passthrough_module(__name__
, '...utils', ('WINDOWS_VT_MODE', 'windows_enable_vt_mode'))
36 # compat_ctypes_WINFUNCTYPE = ctypes.WINFUNCTYPE
37 # will not work since ctypes.WINFUNCTYPE does not exist in UNIX machines
38 def compat_ctypes_WINFUNCTYPE(*args
, **kwargs
):
39 return ctypes
.WINFUNCTYPE(*args
, **kwargs
)
42 def compat_setenv(key
, value
, env
=os
.environ
):
46 compat_basestring
= str
47 compat_collections_abc
= collections
.abc
48 compat_cookies
= http
.cookies
49 compat_etree_Element
= etree
.Element
50 compat_etree_register_namespace
= etree
.register_namespace
51 compat_filter
= filter
52 compat_getenv
= os
.getenv
54 compat_integer_types
= (int, )
55 compat_kwargs
= lambda kwargs
: kwargs
57 compat_numeric_types
= (int, float, complex)
59 compat_shlex_split
= shlex
.split
60 compat_socket_create_connection
= socket
.create_connection
61 compat_Struct
= struct
.Struct
62 compat_subprocess_get_DEVNULL
= lambda: DEVNULL
63 compat_urllib_parse_quote
= urllib
.parse
.quote
64 compat_urllib_parse_quote_plus
= urllib
.parse
.quote_plus
65 compat_urllib_parse_unquote_to_bytes
= urllib
.parse
.unquote_to_bytes
66 compat_urllib_parse_urlunparse
= urllib
.parse
.urlunparse
67 compat_urllib_request_DataHandler
= urllib
.request
.DataHandler
68 compat_urllib_request
= urllib
.request
69 compat_urllib_response
= urllib
.response
70 compat_urlretrieve
= urllib
.request
.urlretrieve
71 compat_xml_parse_error
= etree
.ParseError
72 compat_xpath
= lambda xpath
: xpath
74 workaround_optparse_bug9161
= lambda: None
75 compat_getpass
= getpass
.getpass
77 compat_urllib_parse
= urllib
.parse
78 compat_itertools_count
= itertools
.count
79 compat_cookiejar
= http
.cookiejar
80 compat_cookiejar_Cookie
= http
.cookiejar
.Cookie
81 compat_cookies_SimpleCookie
= http
.cookies
.SimpleCookie
82 compat_get_terminal_size
= shutil
.get_terminal_size
83 compat_html_entities
= html
.entities
84 compat_html_entities_html5
= html
.entities
.html5
85 compat_tokenize_tokenize
= tokenize
.tokenize
86 compat_HTMLParser
= html
.parser
.HTMLParser
87 compat_http_client
= http
.client
88 compat_http_server
= http
.server
89 compat_struct_pack
= struct
.pack
90 compat_struct_unpack
= struct
.unpack
91 compat_urllib_error
= urllib
.error
92 compat_urllib_parse_unquote_plus
= urllib
.parse
.unquote_plus