| Index: third_party/cython/src/Cython/Tempita/compat3.py
|
| diff --git a/third_party/cython/src/Cython/Tempita/compat3.py b/third_party/cython/src/Cython/Tempita/compat3.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5e18fa011de26d1b6c2028a9593984057e0ce864
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Tempita/compat3.py
|
| @@ -0,0 +1,45 @@
|
| +import sys
|
| +
|
| +__all__ = ['b', 'basestring_', 'bytes', 'next', 'is_unicode']
|
| +
|
| +if sys.version < "3":
|
| + b = bytes = str
|
| + basestring_ = basestring
|
| +else:
|
| +
|
| + def b(s):
|
| + if isinstance(s, str):
|
| + return s.encode('latin1')
|
| + return bytes(s)
|
| + basestring_ = (bytes, str)
|
| + bytes = bytes
|
| +text = str
|
| +
|
| +if sys.version < "3":
|
| +
|
| + def next(obj):
|
| + return obj.next()
|
| +else:
|
| + next = next
|
| +
|
| +if sys.version < "3":
|
| +
|
| + def is_unicode(obj):
|
| + return isinstance(obj, unicode)
|
| +else:
|
| +
|
| + def is_unicode(obj):
|
| + return isinstance(obj, str)
|
| +
|
| +
|
| +def coerce_text(v):
|
| + if not isinstance(v, basestring_):
|
| + if sys.version < "3":
|
| + attr = '__unicode__'
|
| + else:
|
| + attr = '__str__'
|
| + if hasattr(v, attr):
|
| + return unicode(v)
|
| + else:
|
| + return bytes(v)
|
| + return v
|
|
|