Commit beb6713e authored by Fred Drake's avatar Fred Drake

When reading a continuation line, make sure we still use the transformed

name when filling in the internal data structures, otherwise we incorrectly
raise a KeyError.

This fixes SF bug #432369.
parent 45c23e61
......@@ -431,7 +431,8 @@ class ConfigParser:
if line[0] in ' \t' and cursect is not None and optname:
value = line.strip()
if value:
cursect[optname] = cursect[optname] + '\n ' + value
k = self.optionxform(optname)
cursect[k] = "%s\n%s" % (cursect[k], value)
# a section header or option header?
else:
# is it a section header?
......
......@@ -70,6 +70,13 @@ def case_sensitivity():
cf.remove_option("a", "B")
verify(cf.options("a") == [])
# SF bug #432369:
cf = ConfigParser.ConfigParser()
sio = StringIO.StringIO("[MySection]\nOption: first line\n\tsecond line\n")
cf.readfp(sio)
verify(cf.options("MySection") == ["option"])
verify(cf.get("MySection", "Option") == "first line\nsecond line")
def interpolation(src):
print "Testing value interpolation..."
......
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