|
|
|
@ -21,6 +21,19 @@ import subprocess
|
|
|
|
|
import sys
|
|
|
|
|
import xml.etree.ElementTree
|
|
|
|
|
|
|
|
|
|
# deal with critical unicode/str things first
|
|
|
|
|
try:
|
|
|
|
|
# Python 2
|
|
|
|
|
compat_str, compat_basestring, compat_chr = (
|
|
|
|
|
unicode, basestring, unichr
|
|
|
|
|
)
|
|
|
|
|
from .casefold import casefold as compat_casefold
|
|
|
|
|
except NameError:
|
|
|
|
|
compat_str, compat_basestring, compat_chr = (
|
|
|
|
|
str, str, chr
|
|
|
|
|
)
|
|
|
|
|
compat_casefold = lambda s: s.casefold()
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
import collections.abc as compat_collections_abc
|
|
|
|
|
except ImportError:
|
|
|
|
@ -2373,13 +2386,6 @@ try:
|
|
|
|
|
except ImportError:
|
|
|
|
|
import BaseHTTPServer as compat_http_server
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
compat_str = unicode # Python 2
|
|
|
|
|
from .casefold import casefold as compat_casefold
|
|
|
|
|
except NameError:
|
|
|
|
|
compat_str = str
|
|
|
|
|
compat_casefold = lambda s: s.casefold()
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes
|
|
|
|
|
from urllib.parse import unquote as compat_urllib_parse_unquote
|
|
|
|
@ -2510,22 +2516,11 @@ except ImportError: # Python < 3.4
|
|
|
|
|
|
|
|
|
|
return compat_urllib_response.addinfourl(io.BytesIO(data), headers, url)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
compat_basestring = basestring # Python 2
|
|
|
|
|
except NameError:
|
|
|
|
|
compat_basestring = str
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
compat_chr = unichr # Python 2
|
|
|
|
|
except NameError:
|
|
|
|
|
compat_chr = chr
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
from xml.etree.ElementTree import ParseError as compat_xml_parse_error
|
|
|
|
|
except ImportError: # Python 2.6
|
|
|
|
|
from xml.parsers.expat import ExpatError as compat_xml_parse_error
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
etree = xml.etree.ElementTree
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|