|
@@ -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
|
|
|
|
|
|
|