diff options
author | David Goodger <goodger@python.org> | 2004-10-03 15:40:25 (GMT) |
---|---|---|
committer | David Goodger <goodger@python.org> | 2004-10-03 15:40:25 (GMT) |
commit | 68a1abdadec2377fd3e8d2211cb3cc119de77a28 (patch) | |
tree | 93db094b5487a4e8999c894c3ce7ba950bea97a3 /Lib/ConfigParser.py | |
parent | bfe56843084c0ccb7f26e5225b1c22d767d90eb8 (diff) | |
download | cpython-68a1abdadec2377fd3e8d2211cb3cc119de77a28.zip cpython-68a1abdadec2377fd3e8d2211cb3cc119de77a28.tar.gz cpython-68a1abdadec2377fd3e8d2211cb3cc119de77a28.tar.bz2 |
SF bug #1017864: ConfigParser now correctly handles default keys, processing them with ``ConfigParser.optionxform`` when supplied, consistent with the handling of config file entries and runtime-set options.
Diffstat (limited to 'Lib/ConfigParser.py')
-rw-r--r-- | Lib/ConfigParser.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py index 5f80269..acbf3ea 100644 --- a/Lib/ConfigParser.py +++ b/Lib/ConfigParser.py @@ -202,10 +202,10 @@ class MissingSectionHeaderError(ParsingError): class RawConfigParser: def __init__(self, defaults=None): self._sections = {} - if defaults is None: - self._defaults = {} - else: - self._defaults = defaults + self._defaults = {} + if defaults: + for key, value in defaults.items(): + self._defaults[self.optionxform(key)] = value def defaults(self): return self._defaults @@ -511,8 +511,9 @@ class ConfigParser(RawConfigParser): if section != DEFAULTSECT: raise NoSectionError(section) # Update with the entry specific variables - if vars is not None: - d.update(vars) + if vars: + for key, value in vars.items(): + d[self.optionxform(key)] = value option = self.optionxform(option) try: value = d[option] @@ -544,7 +545,8 @@ class ConfigParser(RawConfigParser): raise NoSectionError(section) # Update with the entry specific variables if vars: - d.update(vars) + for key, value in vars.items(): + d[self.optionxform(key)] = value options = d.keys() if "__name__" in options: options.remove("__name__") |