Arnaud Fontaine <ar...@debian.org> added the comment:

Thanks for the review. Sorry to send that here instead of the review page, but 
I get an error when replying: "Invalid XSRF token.".

> This looks good, especially if all existing tests still pass as you report, 
> but
> I wonder about one thing: you have removed the part where the conversion
> function was applied to the default value, so I expected you to edit the other
> line were the conversion function was already called, but that’s not the 
> case. 
> Am I misunderstanding something?

Yes, sorry, I should have perhaps explained it in further details... Here are 
some examples:

* Example test case 1:

parser = argparse.ArgumentParser()
parser.add_argument('--foo', type=type_foo_func, default='foo')
parser.parse_args('--foo bar'.split())

=> Before the patch, type function is called in parse_known_args() for the 
default given in add_argument(), and then in _parse_known_args() for '--foo 
bar' given in parse_args above, whereas type function should have been called 
only for the second one.

* Example test case 2:

parser = argparse.ArgumentParser()
parser.add_argument('--foo', type=type_foo_func)
parser.parse_args('--foo bar'.split())

=> This was already working well before my patch.

* Example test case 3:

parser = argparse.ArgumentParser()
parser.add_argument('--foo', type=type_foo_func, default='foo')
parser.parse_args('')

=> type_foo_func is called after parsing arguments (none in this case) in my 
patch.

Therefore, my patch just moves the function type call after parsing the 
arguments (given to parse_args()) instead of before, only and only if it was 
not previously given in parse_args().

> http://bugs.python.org/review/12776/diff/3181/9898#newcode1985
> Lib/argparse.py:1985: if hasattr(namespace, action.dest) and \
> It is recommended to use parens to group multi-line statements, backslashes 
> are
> error-prone.

I have just updated the patch on the bug report. Thanks.

----------

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

Reply via email to