diff options
author | Georg Brandl <georg@python.org> | 2009-04-27 16:42:58 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-04-27 16:42:58 (GMT) |
commit | 1f9fa31cb54546ef0129a81b0257dda9a313b528 (patch) | |
tree | 706a3627741134ee7d1317216b80e78ef0d9e1c1 /Lib/configparser.py | |
parent | f3532df236481cebd458a35b82d803a4af750c1c (diff) | |
download | cpython-1f9fa31cb54546ef0129a81b0257dda9a313b528.zip cpython-1f9fa31cb54546ef0129a81b0257dda9a313b528.tar.gz cpython-1f9fa31cb54546ef0129a81b0257dda9a313b528.tar.bz2 |
Merged revisions 71537 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71537 | georg.brandl | 2009-04-12 19:24:11 +0200 (So, 12 Apr 2009) | 1 line
#5741: dont disallow double percent signs in SafeConfigParser.set() keys.
........
Diffstat (limited to 'Lib/configparser.py')
-rw-r--r-- | Lib/configparser.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/configparser.py b/Lib/configparser.py index 7510a6e..4fc9a8d 100644 --- a/Lib/configparser.py +++ b/Lib/configparser.py @@ -620,7 +620,6 @@ class SafeConfigParser(ConfigParser): return ''.join(L) _interpvar_re = re.compile(r"%\(([^)]+)\)s") - _badpercent_re = re.compile(r"%[^%]|%$") def _interpolate_some(self, option, accum, rest, section, map, depth): if depth > MAX_INTERPOLATION_DEPTH: @@ -667,9 +666,10 @@ class SafeConfigParser(ConfigParser): # check for bad percent signs: # first, replace all "good" interpolations tmp_value = self._interpvar_re.sub('', value) + tmp_value = tmp_value.replace('%%', '') # then, check if there's a lone percent sign left - m = self._badpercent_re.search(tmp_value) - if m: + percent_index = tmp_value.find('%') + if percent_index != -1: raise ValueError("invalid interpolation syntax in %r at " - "position %d" % (value, m.start())) + "position %d" % (value, percent_index)) ConfigParser.set(self, section, option, value) |