Kaydet (Commit) e89b8e98 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Backport 70111: Let configparser use ordered dicts by default.

üst 88a9164c
......@@ -75,6 +75,9 @@ write-back, as will be the keys within each section.
.. versionchanged:: 2.6
*dict_type* was added.
.. versionchanged:: 2.7
The default *dict_type* is :class:`collections.OrderedDict`.
.. class:: ConfigParser([defaults[, dict_type]])
......@@ -91,6 +94,14 @@ write-back, as will be the keys within each section.
option names to lower case), the values ``foo %(bar)s`` and ``foo %(BAR)s`` are
equivalent.
.. versionadded:: 2.3
.. versionchanged:: 2.6
*dict_type* was added.
.. versionchanged:: 2.7
The default *dict_type* is :class:`collections.OrderedDict`.
.. class:: SafeConfigParser([defaults[, dict_type]])
......@@ -103,6 +114,12 @@ write-back, as will be the keys within each section.
.. versionadded:: 2.3
.. versionchanged:: 2.6
*dict_type* was added.
.. versionchanged:: 2.7
The default *dict_type* is :class:`collections.OrderedDict`.
.. exception:: NoSectionError
......
......@@ -87,6 +87,12 @@ ConfigParser -- responsible for parsing a list of
write the configuration state in .ini format
"""
try:
from collections import OrderedDict as _default_dict
except ImportError:
# fallback for setup.py which hasn't yet built _collections
_default_dict = dict
import re
__all__ = ["NoSectionError", "DuplicateSectionError", "NoOptionError",
......@@ -215,7 +221,7 @@ class MissingSectionHeaderError(ParsingError):
class RawConfigParser:
def __init__(self, defaults=None, dict_type=dict):
def __init__(self, defaults=None, dict_type=_default_dict):
self._dict = dict_type
self._sections = self._dict()
self._defaults = self._dict()
......
......@@ -172,6 +172,8 @@ Library
- The _asdict() for method for namedtuples now returns an OrderedDict().
- The configparser module now defaults to using an ordered dictionary.
- Issue #4308: httplib.IncompleteRead's repr doesn't include all of the data all
ready received.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment