"""Python 3 compatibility shims | |
""" | |
import sys | |
if sys.version_info[0] < 3: | |
PY3 = False | |
def b(s): | |
return s | |
def u(s): | |
return unicode(s, 'unicode_escape') | |
import cStringIO as StringIO | |
StringIO = BytesIO = StringIO.StringIO | |
text_type = unicode | |
binary_type = str | |
string_types = (basestring,) | |
integer_types = (int, long) | |
unichr = unichr | |
reload_module = reload | |
def fromhex(s): | |
return s.decode('hex') | |
else: | |
PY3 = True | |
if sys.version_info[:2] >= (3, 4): | |
from importlib import reload as reload_module | |
else: | |
from imp import reload as reload_module | |
import codecs | |
def b(s): | |
return codecs.latin_1_encode(s)[0] | |
def u(s): | |
return s | |
import io | |
StringIO = io.StringIO | |
BytesIO = io.BytesIO | |
text_type = str | |
binary_type = bytes | |
string_types = (str,) | |
integer_types = (int,) | |
def unichr(s): | |
return u(chr(s)) | |
def fromhex(s): | |
return bytes.fromhex(s) | |
long_type = integer_types[-1] | |