[Jython-checkins] jython: from pypy:

frank.wierzbicki jython-checkins at python.org
Fri Apr 27 00:20:21 CEST 2012


http://hg.python.org/jython/rev/880f2446528d
changeset:   6626:880f2446528d
user:        Frank Wierzbicki <fwierzbicki at gmail.com>
date:        Wed Apr 25 20:15:54 2012 -0700
summary:
  from pypy:
https://bitbucket.org/pypy/pypy/src/6dffe8f51e7b/lib_pypy/future_builtins.py

files:
  Lib/future_builtins.py |  33 ++++++++++++++++++++++++++++++
  1 files changed, 33 insertions(+), 0 deletions(-)


diff --git a/Lib/future_builtins.py b/Lib/future_builtins.py
new file mode 100644
--- /dev/null
+++ b/Lib/future_builtins.py
@@ -0,0 +1,33 @@
+"""This module provides functions that will be builtins in Python 3.0,
+but that conflict with builtins that already exist in Python 2.x.
+
+Functions:
+
+hex(arg) -- Returns the hexadecimal representation of an integer
+oct(arg) -- Returns the octal representation of an integer
+ascii(arg) -- Same as repr(arg)
+map, filter, zip -- Same as itertools.imap, ifilter, izip
+
+The typical usage of this module is to replace existing builtins in a
+module's namespace:
+
+from future_builtins import hex, oct
+"""
+
+__all__ = ['hex', 'oct', 'ascii', 'map', 'filter', 'zip']
+
+from itertools import imap as map, ifilter as filter, izip as zip
+
+ascii = repr
+_builtin_hex = hex
+_builtin_oct = oct
+
+def hex(arg):
+    return _builtin_hex(arg).rstrip('L')
+
+def oct(arg):
+    result = _builtin_oct(arg).rstrip('L')
+    if result == '0':
+        return '0o0'
+    i = result.index('0') + 1
+    return result[:i] + 'o' + result[i:]

-- 
Repository URL: http://hg.python.org/jython


More information about the Jython-checkins mailing list