Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r59377:3dd28126a751
Date: 2012-12-09 19:59 +0100
http://bitbucket.org/pypy/pypy/changeset/3dd28126a751/
Log: Adapt %#o format (alternate form of %o) to python3: prefix is now
always 0o.
diff --git a/pypy/objspace/std/formatting.py b/pypy/objspace/std/formatting.py
--- a/pypy/objspace/std/formatting.py
+++ b/pypy/objspace/std/formatting.py
@@ -87,15 +87,11 @@
def fmt_o(self, w_value):
"oct formatting"
r = oct_num_helper(self.space, w_value)
- keep_zero = False
if self.f_alt:
- if r == '0':
- keep_zero = True
- elif r.startswith('-'):
- r = '-0' + r[1:]
- else:
- r = '0' + r
- self.std_wp_int(r, keep_zero=keep_zero)
+ prefix = '0o'
+ else:
+ prefix = ''
+ self.std_wp_int(r, prefix, keep_zero=True)
fmt_i = fmt_d
fmt_u = fmt_d
diff --git a/pypy/objspace/std/test/test_stringformat.py
b/pypy/objspace/std/test/test_stringformat.py
--- a/pypy/objspace/std/test/test_stringformat.py
+++ b/pypy/objspace/std/test/test_stringformat.py
@@ -108,24 +108,24 @@
assert '1C' == '%X' % n
assert '0X1C' == '%#X' % n
assert '10' == '%o' % m
- assert '010' == '%#o' % m
- assert '-010' == '%#o' % -m
+ assert '0o10' == '%#o' % m
+ assert '-0o10' == '%#o' % -m
assert '0' == '%o' % z
- assert '0' == '%#o' % z
+ assert '0o0' == '%#o' % z
n = 23
f = 5
assert '-0x017' == '%#06x' % -n
- assert '' == '%.0o' % z
- assert '0' == '%#.0o' % z
+ assert '0' == '%.0o' % z
+ assert '0o0' == '%#.0o' % z
assert '5' == '%.0o' % f
- assert '05' == '%#.0o' % f
+ assert '0o5' == '%#.0o' % f
assert '000' == '%.3o' % z
- assert '000' == '%#.3o' % z
+ assert '0o000' == '%#.3o' % z
assert '005' == '%.3o' % f
- assert '005' == '%#.3o' % f
+ assert '0o005' == '%#.3o' % f
assert '27' == '%.2o' % n
- assert '027' == '%#.2o' % n
+ assert '0o27' == '%#.2o' % n
def test_format_list(self):
l = [1,2]
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit