Index: third_party/google-endpoints/dogpile/util/compat.py |
diff --git a/third_party/google-endpoints/dogpile/util/compat.py b/third_party/google-endpoints/dogpile/util/compat.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3e12ee65b54c912a622637d75426e8a0fdf9636c |
--- /dev/null |
+++ b/third_party/google-endpoints/dogpile/util/compat.py |
@@ -0,0 +1,65 @@ |
+import sys |
+ |
+py2k = sys.version_info < (3, 0) |
+py3k = sys.version_info >= (3, 0) |
+py32 = sys.version_info >= (3, 2) |
+py27 = sys.version_info >= (2, 7) |
+jython = sys.platform.startswith('java') |
+win32 = sys.platform.startswith('win') |
+ |
+try: |
+ import threading |
+except ImportError: |
+ import dummy_threading as threading # noqa |
+ |
+ |
+if py3k: # pragma: no cover |
+ string_types = str, |
+ text_type = str |
+ string_type = str |
+ |
+ if py32: |
+ callable = callable |
+ else: |
+ def callable(fn): |
+ return hasattr(fn, '__call__') |
+ |
+ def u(s): |
+ return s |
+ |
+ def ue(s): |
+ return s |
+ |
+ import configparser |
+ import io |
+ import _thread as thread |
+else: |
+ string_types = basestring, |
+ text_type = unicode |
+ string_type = str |
+ |
+ def u(s): |
+ return unicode(s, "utf-8") |
+ |
+ def ue(s): |
+ return unicode(s, "unicode_escape") |
+ |
+ import ConfigParser as configparser # noqa |
+ import StringIO as io # noqa |
+ |
+ callable = callable # noqa |
+ import thread # noqa |
+ |
+ |
+if py3k or jython: |
+ import pickle |
+else: |
+ import cPickle as pickle # noqa |
+ |
+ |
+def timedelta_total_seconds(td): |
+ if py27: |
+ return td.total_seconds() |
+ else: |
+ return (td.microseconds + ( |
+ td.seconds + td.days * 24 * 3600) * 1e6) / 1e6 |