Using percent signs with SafeConfigParser
MRAB
google at mrabarnett.plus.com
Sat Apr 11 19:14:49 EDT 2009
Márcio Faustino wrote:
> On 11 Abr, 20:06, Peter Otten <__pete... at web.de> wrote:
>> I think you are right. Please file a bug report .
>
> I will.
>
>> IMO this doesn't fix the problem because
>>
>> (1) it allows "%%%" which is also incorrect
>
> You're right, how about this one "(?<!%)%(?:%%)*(?!%)"?
>
Instead of checking for a 'bad' value, why not check for a 'good' one?
Change:
_badpercent_re = re.compile(r"%[^%]|%$")
to:
_goodpercent_re = re.compile(r"(?:%%|[^%])*$")
and then:
m = self._badpercent_re.search(tmp_value)
if m:
to:
m = self._goodpercent_re.match(tmp_value)
if not m:
>> (2) _interpvar_re has already butchered values like "%%(alpha)s" to "%"
>
> Isn't that expected? I mean, one wouldn't write "%%(alpha)s", but
> instead "%%%(alpha)s" or "%(alpha)s" right?
>
More information about the Python-list
mailing list