[pypy-svn] r12597 - pypy/branch/non-fake-unicode/pypy/objspace/std
ac at codespeak.net
ac at codespeak.net
Fri May 20 08:12:07 CEST 2005
Author: ac
Date: Fri May 20 08:12:07 2005
New Revision: 12597
Modified:
pypy/branch/non-fake-unicode/pypy/objspace/std/unicodeobject.py
Log:
Slightly improve the unicode string formating.
Modified: pypy/branch/non-fake-unicode/pypy/objspace/std/unicodeobject.py
==============================================================================
--- pypy/branch/non-fake-unicode/pypy/objspace/std/unicodeobject.py (original)
+++ pypy/branch/non-fake-unicode/pypy/objspace/std/unicodeobject.py Fri May 20 08:12:07 2005
@@ -766,8 +766,20 @@
raise TypeError("character mapping must return integer, None or unicode")
return ''.join(result)
+def unicode_to_str(val):
+ if isinstance(val, unicode):
+ return val.encode("utf-8")
+ return val
+
def mod__Unicode_ANY(format, values):
- return unicode(format.encode("utf-8") % values, "utf-8")
+ format = format.encode("utf-8")
+ if isinstance(values, tuple):
+ values = tuple([unicode_to_str(val) for val in values])
+ elif hasattr(values, 'keys'):
+ values = dict([(key, unicode_to_str(val)) for key, val in values.iteritems()])
+ else:
+ values = unicode_to_str(values)
+ return unicode(format % values, "utf-8")
''')
unicode_expandtabs__Unicode_ANY = app.interphook('unicode_expandtabs__Unicode_ANY')
More information about the Pypy-commit
mailing list