Index: third_party/google-endpoints/past/builtins/__init__.py |
diff --git a/third_party/google-endpoints/past/builtins/__init__.py b/third_party/google-endpoints/past/builtins/__init__.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a967736d036993268bc8327659dac15fe3960237 |
--- /dev/null |
+++ b/third_party/google-endpoints/past/builtins/__init__.py |
@@ -0,0 +1,72 @@ |
+""" |
+A resurrection of some old functions from Python 2 for use in Python 3. These |
+should be used sparingly, to help with porting efforts, since code using them |
+is no longer standard Python 3 code. |
+ |
+This module provides the following: |
+ |
+1. Implementations of these builtin functions which have no equivalent on Py3: |
+ |
+- apply |
+- chr |
+- cmp |
+- execfile |
+ |
+2. Aliases: |
+ |
+- intern <- sys.intern |
+- raw_input <- input |
+- reduce <- functools.reduce |
+- reload <- imp.reload |
+- unichr <- chr |
+- unicode <- str |
+- xrange <- range |
+ |
+3. List-producing versions of the corresponding Python 3 iterator-producing functions: |
+ |
+- filter |
+- map |
+- range |
+- zip |
+ |
+4. Forward-ported Py2 types: |
+ |
+- basestring |
+- dict |
+- str |
+- long |
+- unicode |
+ |
+""" |
+ |
+from future.utils import PY3 |
+from past.builtins.noniterators import (filter, map, range, reduce, zip) |
+# from past.builtins.misc import (ascii, hex, input, oct, open) |
+if PY3: |
+ from past.types import (basestring, |
+ olddict as dict, |
+ oldstr as str, |
+ long, |
+ unicode) |
+else: |
+ from __builtin__ import (basestring, dict, str, long, unicode) |
+ |
+from past.builtins.misc import (apply, chr, cmp, execfile, intern, oct, |
+ raw_input, reload, unichr, unicode, xrange) |
+from past import utils |
+ |
+ |
+if utils.PY3: |
+ # We only import names that shadow the builtins on Py3. No other namespace |
+ # pollution on Py3. |
+ |
+ # Only shadow builtins on Py3; no new names |
+ __all__ = ['filter', 'map', 'range', 'reduce', 'zip', |
+ 'basestring', 'dict', 'str', 'long', 'unicode', |
+ 'apply', 'chr', 'cmp', 'execfile', 'intern', 'raw_input', |
+ 'reload', 'unichr', 'xrange' |
+ ] |
+ |
+else: |
+ # No namespace pollution on Py2 |
+ __all__ = [] |