gh-125436: Doc: Add missing ``allow_unnamed_section`` parameter to ``ConfigParser`` documentation (#125437)

Add missing ``allow_unnamed_section`` parameter to ``ConfigParser`` doc, as well as to it's parent ``RawConfigParser``.
Split too long line on ``ConfigParser`` signature.
Add some sections about when some of ``RawConfigParser`` parameters were added.
This commit is contained in:
lit 2024-11-05 10:58:15 +08:00 committed by GitHub
parent 78015818c2
commit d960226547
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 28 additions and 3 deletions

View File

@ -942,7 +942,13 @@ interpolation if an option used is not defined elsewhere. ::
ConfigParser Objects ConfigParser Objects
-------------------- --------------------
.. class:: ConfigParser(defaults=None, dict_type=dict, allow_no_value=False, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section=configparser.DEFAULTSECT, interpolation=BasicInterpolation(), converters={}) .. class:: ConfigParser(defaults=None, dict_type=dict, allow_no_value=False, *, \
delimiters=('=', ':'), comment_prefixes=('#', ';'), \
inline_comment_prefixes=None, strict=True, \
empty_lines_in_values=True, \
default_section=configparser.DEFAULTSECT, \
interpolation=BasicInterpolation(), converters={}, \
allow_unnamed_section=False)
The main configuration parser. When *defaults* is given, it is initialized The main configuration parser. When *defaults* is given, it is initialized
into the dictionary of intrinsic defaults. When *dict_type* is given, it into the dictionary of intrinsic defaults. When *dict_type* is given, it
@ -990,6 +996,10 @@ ConfigParser Objects
converter gets its own corresponding :meth:`!get*` method on the parser converter gets its own corresponding :meth:`!get*` method on the parser
object and section proxies. object and section proxies.
When *allow_unnamed_section* is ``True`` (default: ``False``),
the first section name can be omitted. See the
`"Unnamed Sections" section <#unnamed-sections>`_.
It is possible to read several configurations into a single It is possible to read several configurations into a single
:class:`ConfigParser`, where the most recently added configuration has the :class:`ConfigParser`, where the most recently added configuration has the
highest priority. Any conflicting keys are taken from the more recent highest priority. Any conflicting keys are taken from the more recent
@ -1039,6 +1049,9 @@ ConfigParser Objects
Raise a :exc:`MultilineContinuationError` when *allow_no_value* is Raise a :exc:`MultilineContinuationError` when *allow_no_value* is
``True``, and a key without a value is continued with an indented line. ``True``, and a key without a value is continued with an indented line.
.. versionchanged:: 3.13
The *allow_unnamed_section* argument was added.
.. method:: defaults() .. method:: defaults()
Return a dictionary containing the instance-wide defaults. Return a dictionary containing the instance-wide defaults.
@ -1295,18 +1308,30 @@ RawConfigParser Objects
comment_prefixes=('#', ';'), \ comment_prefixes=('#', ';'), \
inline_comment_prefixes=None, strict=True, \ inline_comment_prefixes=None, strict=True, \
empty_lines_in_values=True, \ empty_lines_in_values=True, \
default_section=configparser.DEFAULTSECT[, \ default_section=configparser.DEFAULTSECT, \
interpolation]) interpolation=BasicInterpolation(), converters={}, \
allow_unnamed_section=False)
Legacy variant of the :class:`ConfigParser`. It has interpolation Legacy variant of the :class:`ConfigParser`. It has interpolation
disabled by default and allows for non-string section names, option disabled by default and allows for non-string section names, option
names, and values via its unsafe ``add_section`` and ``set`` methods, names, and values via its unsafe ``add_section`` and ``set`` methods,
as well as the legacy ``defaults=`` keyword argument handling. as well as the legacy ``defaults=`` keyword argument handling.
.. versionchanged:: 3.2
*allow_no_value*, *delimiters*, *comment_prefixes*, *strict*,
*empty_lines_in_values*, *default_section* and *interpolation* were
added.
.. versionchanged:: 3.5
The *converters* argument was added.
.. versionchanged:: 3.8 .. versionchanged:: 3.8
The default *dict_type* is :class:`dict`, since it now preserves The default *dict_type* is :class:`dict`, since it now preserves
insertion order. insertion order.
.. versionchanged:: 3.13
The *allow_unnamed_section* argument was added.
.. note:: .. note::
Consider using :class:`ConfigParser` instead which checks types of Consider using :class:`ConfigParser` instead which checks types of
the values to be stored internally. If you don't want interpolation, you the values to be stored internally. If you don't want interpolation, you