except ImportError:
compat_subprocess_get_DEVNULL = lambda: open(os.path.devnull, 'w')
+try:
+ import http.server as compat_http_server
+except ImportError:
+ import BaseHTTPServer as compat_http_server
+
try:
from urllib.parse import unquote as compat_urllib_parse_unquote
except ImportError:
string += pct_sequence.decode(encoding, errors)
return string
+try:
+ compat_str = unicode # Python 2
+except NameError:
+ compat_str = str
+
+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
+
try:
from urllib.parse import parse_qs as compat_parse_qs
def _parse_qsl(qs, keep_blank_values=False, strict_parsing=False,
encoding='utf-8', errors='replace'):
- qs, _coerce_result = qs, unicode
+ qs, _coerce_result = qs, compat_str
pairs = [s2 for s1 in qs.split('&') for s2 in s1.split(';')]
r = []
for name_value in pairs:
parsed_result[name] = [value]
return parsed_result
-try:
- compat_str = unicode # Python 2
-except NameError:
- compat_str = 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
-
try:
from shlex import quote as shlex_quote
except ImportError: # Python < 3.3
__all__ = [
'compat_HTTPError',
+ 'compat_basestring',
'compat_chr',
'compat_cookiejar',
'compat_expanduser',
'compat_html_entities',
'compat_html_parser',
'compat_http_client',
+ 'compat_http_server',
'compat_kwargs',
'compat_ord',
'compat_parse_qs',