]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#13579: minimize code base drift for 'a' string.Formatter change.
authorR David Murray <rdmurray@bitdance.com>
Sun, 19 Aug 2012 21:57:29 +0000 (17:57 -0400)
committerR David Murray <rdmurray@bitdance.com>
Sun, 19 Aug 2012 21:57:29 +0000 (17:57 -0400)
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.

Doc/library/string.rst
Lib/string.py

index 0eda746ededc9d818cfb8ba2d2fad82fc09ce04d..ef1a0c265bcd33cbc5bee234e1197d5171da8a9b 100644 (file)
@@ -123,8 +123,8 @@ string formatting behaviors using the same implementation as the built-in
 
    .. 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 @@ string formatting behaviors using the same implementation as the built-in
       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 @@ string formatting behaviors using the same implementation as the built-in
 
       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:
index 9c0ebe1fd46f6ac73074e6e8dd72d7843e3d7d80..97278034a0fb8209d9602a682885ece73024f0be 100644 (file)
@@ -601,12 +601,12 @@ class Formatter(object):
 
     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))