Márcio Faustino wrote:
> On 11 Abr, 20:06, Peter Otten <[email protected]> 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?
>
--
http://mail.python.org/mailman/listinfo/python-list