forked from BigfootDev/flatbuffers
Fix for Issue 1741 Minor bug where python versions 2.7.x where x < 5 do not support unpacking from memoryview objects. Versions 2.7.5 and above will use memoryview while 2.7 versions below 2.7.5 will use buffer objects. Manual testing was performed on versions 2.7.5 and 2.7.2 to confirm both worked correctly.
30 lines
780 B
Python
30 lines
780 B
Python
""" A tiny version of `six` to help with backwards compability. """
|
|
|
|
import sys
|
|
|
|
PY2 = sys.version_info[0] == 2
|
|
PY26 = sys.version_info[0:2] == (2, 6)
|
|
PY27 = sys.version_info[0:2] == (2, 7)
|
|
PY275 = sys.version_info[0:3] >= (2, 7, 5)
|
|
PY3 = sys.version_info[0] == 3
|
|
PY34 = sys.version_info[0:2] >= (3, 4)
|
|
|
|
if PY3:
|
|
string_types = (str,)
|
|
binary_type = bytes
|
|
range_func = range
|
|
memoryview_type = memoryview
|
|
struct_bool_decl = "?"
|
|
else:
|
|
string_types = (basestring,)
|
|
binary_type = str
|
|
range_func = xrange
|
|
if PY26 or (PY27 and not PY275):
|
|
memoryview_type = buffer
|
|
struct_bool_decl = "<b"
|
|
else:
|
|
memoryview_type = memoryview
|
|
struct_bool_decl = "?"
|
|
|
|
# NOTE: Future Jython support may require code here (look at `six`).
|