Index: third_party/google-endpoints/past/types/basestring.py |
diff --git a/third_party/google-endpoints/past/types/basestring.py b/third_party/google-endpoints/past/types/basestring.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..15437bf7c8ce44063e6297b79d0edf51e28889e5 |
--- /dev/null |
+++ b/third_party/google-endpoints/past/types/basestring.py |
@@ -0,0 +1,40 @@ |
+""" |
+An implementation of the basestring type for Python 3 |
+ |
+Example use: |
+ |
+>>> s = b'abc' |
+>>> assert isinstance(s, basestring) |
+>>> from past.types import str as oldstr |
+>>> s2 = oldstr(b'abc') |
+>>> assert isinstance(s2, basestring) |
+ |
+""" |
+ |
+import sys |
+ |
+from past.utils import with_metaclass, PY2 |
+ |
+if PY2: |
+ str = unicode |
+ |
+ver = sys.version_info[:2] |
+ |
+ |
+class BaseBaseString(type): |
+ def __instancecheck__(cls, instance): |
+ return isinstance(instance, (bytes, str)) |
+ |
+ def __subclasshook__(cls, thing): |
+ # TODO: What should go here? |
+ raise NotImplemented |
+ |
+ |
+class basestring(with_metaclass(BaseBaseString)): |
+ """ |
+ A minimal backport of the Python 2 basestring type to Py3 |
+ """ |
+ |
+ |
+__all__ = ['basestring'] |
+ |