paul j3 added the comment:

I think the correction to the problem that I noted in the previous post is to 
return 'None, arg_string, None', rather than 'action, arg_string, None' in the 
case where the action is found in a subparser.

This is what '_parse_optional' does at the end:

        # it was meant to be an optional but there is no such option
        # in this parser (though it might be a valid option in a subparser)
        return None, arg_string, None

An input like '--foo baz' would then produce an 'invalid choice' error.  Since 
'--foo' is an optional that the primary parser does not recognize, 'baz' in 
interpreted as a positional, in this case an invalid subparser choice.

I'm working on cleaning up a test script.

----------
Added file: http://bugs.python.org/file31888/subparser_patch.diff

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

Reply via email to