Barry A. Warsaw <ba...@python.org> added the comment:

Okay, so line 187 of locale.py has this test:

    if not match or len(match.group())!= len(percent):

the problematic part is the len test.  When format string is '%.0f KB' 
match.group() is '%.0f' but of course percent is the full string.

This seems like a bogus test, since clearly the given input is a valid format 
string.  I'm not sure what the intent of this test is.  The Python 2.6 test is:

    if percent[0] != '%':

which is perhaps too naive.

I guess I don't understand why this test is here.  Wouldn't it make more sense 
to either just let any TypeError from _format() to percolate up, or to catch 
that TypeError and transform it into the ValueError?  Why try to replicate the 
logic of str.__mod__()?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue10379>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to