From 0663a1ed793c164fb11d3dd62bebc677e260891e Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 2 Mar 2009 23:06:00 +0000 Subject: Let configparser use ordered dicts by default. --- Doc/library/configparser.rst | 9 +++++++++ Lib/configparser.py | 3 ++- Misc/NEWS | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst index e833e23..9439d0d 100644 --- a/Doc/library/configparser.rst +++ b/Doc/library/configparser.rst @@ -64,6 +64,9 @@ write-back, as will be the keys within each section. options within a section, and for the default values. This class does not support the magical interpolation behavior. + .. versionchanged 3.1 + The default *dict_type* is :class:`collections.OrderedDict`. + .. class:: ConfigParser([defaults[, dict_type]]) @@ -80,6 +83,9 @@ 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. + .. versionchanged 3.1 + The default *dict_type* is :class:`collections.OrderedDict`. + .. class:: SafeConfigParser([defaults[, dict_type]]) @@ -90,6 +96,9 @@ write-back, as will be the keys within each section. .. XXX Need to explain what's safer/more predictable about it. + .. versionchanged 3.1 + The default *dict_type* is :class:`collections.OrderedDict`. + .. exception:: NoSectionError diff --git a/Lib/configparser.py b/Lib/configparser.py index 5e36cc9..f2e644c 100644 --- a/Lib/configparser.py +++ b/Lib/configparser.py @@ -88,6 +88,7 @@ ConfigParser -- responsible for parsing a list of """ import re +from collections import OrderedDict __all__ = ["NoSectionError", "DuplicateSectionError", "NoOptionError", "InterpolationError", "InterpolationDepthError", @@ -215,7 +216,7 @@ class MissingSectionHeaderError(ParsingError): class RawConfigParser: - def __init__(self, defaults=None, dict_type=dict): + def __init__(self, defaults=None, dict_type=OrderedDict): self._dict = dict_type self._sections = self._dict() self._defaults = self._dict() diff --git a/Misc/NEWS b/Misc/NEWS index 7a3c96f..91c94ff 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -179,6 +179,8 @@ Library - The _asdict() for method for namedtuples now returns an OrderedDict(). +- configparser now defaults to using an ordered dictionary. + - Issue #1733986: Fixed mmap crash in accessing elements of second map object with same tagname but larger size than first map. (Windows) -- cgit v0.12