ConfigParser._interpolate(): Pass the missing key to the

InterpolationError constructor, not the KeyError exception itself.
    (Caught by the new InterpolationError test.)

SafeConfigParser._interpolate_some():  Pass the right number of
    arguments to the InterpolationError constructor.
    (Caught by pychecker.)
This commit is contained in:
Fred Drake 2002-12-31 06:55:41 +00:00
parent a3661e1267
commit 00dc5a93c1
1 changed files with 3 additions and 4 deletions

View File

@ -554,8 +554,8 @@ class ConfigParser(RawConfigParser):
if value.find("%(") != -1:
try:
value = value % vars
except KeyError, key:
raise InterpolationError(key, option, section, rawval)
except KeyError, e:
raise InterpolationError(e[0], option, section, rawval)
else:
break
if value.find("%(") != -1:
@ -599,8 +599,7 @@ class SafeConfigParser(ConfigParser):
try:
v = map[var]
except KeyError:
raise InterpolationError(
"no value found for %r" % var)
raise InterpolationError(var, option, section, rest)
if "%" in v:
self._interpolate_some(option, accum, v,
section, map, depth + 1)