]> granicus.if.org Git - python/commitdiff
The example for configparser was weird.
authorRaymond Hettinger <python@rcn.com>
Mon, 17 Jan 2011 23:39:39 +0000 (23:39 +0000)
committerRaymond Hettinger <python@rcn.com>
Mon, 17 Jan 2011 23:39:39 +0000 (23:39 +0000)
Doc/whatsnew/3.2.rst

index 0d28baa3f9976963b28f3c4a46d7613ed5d840b1..1128c28d1c4f7fada341550598004f73054326cd 100644 (file)
@@ -1454,34 +1454,41 @@ duplicates are not allowed in a single configuration source.
 
 Config parsers gained a new API based on the mapping protocol::
 
-  >>> parser = ConfigParser()
-  >>> parser.read_string("""
-      [DEFAULT]
-      monty = python
-
-      [phrases]
-      the = who
-      full = metal jacket
-      """)
-  >>> parser['phrases']['full']
-  'metal jacket'
-  >>> section = parser['phrases']
-  >>> section['the']
-  'who'
-  >>> section['british'] = '%(the)s %(full)s %(monty)s!'
-  >>> parser['phrases']['british']
-  'who metal jacket python!'
-  >>> 'british' in section
-  True
-
-The new API is implemented on top of the classical API so custom parser
+    >>> parser = ConfigParser()
+    >>> parser.read_string("""
+    [DEFAULT]
+    location = upper left
+    visible = yes
+    editable = no
+    color = blue
+
+    [main]
+    title = Main Menu
+    color = green
+
+    [options]
+    title = Options
+    """)
+    >>> parser['main']['color']
+    'green'
+    >>> parser['main']['editable']
+    'no'
+    >>> section = parser['options']
+    >>> section['title']
+    'Options'
+    >>> section['title'] = 'Options (editable: %(editable)s)'
+    >>> section['title']
+    'Options (editable: no)'
+
+The new API is implemented on top of the classical API, so custom parser
 subclasses should be able to use it without modifications.
 
 The INI file structure accepted by config parsers can now be customized. Users
 can specify alternative option/value delimiters and comment prefixes, change the
-name of the *DEFAULT* section or switch the interpolation syntax.  Along with
-support for pluggable interpolation, an additional interpolation handler
-:class:`~configparser.ExtendedInterpolation` was introduced::
+name of the *DEFAULT* section or switch the interpolation syntax.
+
+The is support for pluggable interpolation including an additional interpolation
+handler :class:`~configparser.ExtendedInterpolation`::
 
   >>> parser = ConfigParser(interpolation=ExtendedInterpolation())
   >>> parser.read_dict({'buildout': {'directory': '/home/ambv/zope9'},