[Python-checkins] cpython (2.7): #13579: minimize code base drift for 'a' string.Formatter change.

r.david.murray python-checkins at python.org
Mon Aug 20 00:00:12 CEST 2012


http://hg.python.org/cpython/rev/c793d62cdecc
changeset:   78660:c793d62cdecc
branch:      2.7
parent:      78645:b16a5f0d0c87
user:        R David Murray <rdmurray at bitdance.com>
date:        Sun Aug 19 17:57:29 2012 -0400
summary:
  #13579: minimize code base drift for 'a' string.Formatter change.

2.7 doesn't support 'a'.  This changeset ports the doc change
and clause-reording portions of Francisco Martín Brugué patch
in order to minimize code base drift.

files:
  Doc/library/string.rst |  11 ++++++-----
  Lib/string.py          |   8 ++++----
  2 files changed, 10 insertions(+), 9 deletions(-)


diff --git a/Doc/library/string.rst b/Doc/library/string.rst
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -123,8 +123,8 @@
 
    .. method:: format(format_string, *args, **kwargs)
 
-      :meth:`format` is the primary API method.  It takes a format template
-      string, and an arbitrary set of positional and keyword argument.
+      :meth:`format` is the primary API method.  It takes a format string and
+      an arbitrary set of positional and keyword arguments.
       :meth:`format` is just a wrapper that calls :meth:`vformat`.
 
    .. method:: vformat(format_string, args, kwargs)
@@ -133,8 +133,8 @@
       separate function for cases where you want to pass in a predefined
       dictionary of arguments, rather than unpacking and repacking the
       dictionary as individual arguments using the ``*args`` and ``**kwds``
-      syntax.  :meth:`vformat` does the work of breaking up the format template
-      string into character data and replacement fields.  It calls the various
+      syntax.  :meth:`vformat` does the work of breaking up the format string
+      into character data and replacement fields.  It calls the various
       methods described below.
 
    In addition, the :class:`Formatter` defines a number of methods that are
@@ -205,7 +205,8 @@
 
       Converts the value (returned by :meth:`get_field`) given a conversion type
       (as in the tuple returned by the :meth:`parse` method).  The default
-      version understands 'r' (repr) and 's' (str) conversion types.
+      version understands 's' (str), 'r' (repr) and 'a' (ascii) conversion
+      types.
 
 
 .. _formatstrings:
diff --git a/Lib/string.py b/Lib/string.py
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -601,12 +601,12 @@
 
     def convert_field(self, value, conversion):
         # do any conversion on the resulting object
-        if conversion == 'r':
-            return repr(value)
+        if conversion is None:
+            return value
         elif conversion == 's':
             return str(value)
-        elif conversion is None:
-            return value
+        elif conversion == 'r':
+            return repr(value)
         raise ValueError("Unknown conversion specifier {0!s}".format(conversion))
 
 

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


More information about the Python-checkins mailing list