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 |