This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author paul.j3
Recipients DasIch, G2P, Julian, bethard, bewest, bkabrda, chris.jerdonek, csernazs, dsully, elsdoerfer, eric.araujo, labrat, nvie, paul.j3, r.david.murray, seblu, zzzeek
Date 2013-04-13.06:24:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1365834273.12.0.564979203879.issue9253@psf.upfronthosting.co.za>
In-reply-to
Content
This patch addresses both issues raised here:
- throw an error when the subparser argument is missing
- allow the subparser argument to be optional

argparse.py:

_SubParsersAction -
   add 'required=True' keyword.

   name(self) method - creates a name of the form {cmd1,cmd2} for error messages.

_get_action_name() - try action.name() if it can't get a name from option_strings, dest or metavar.  Still can return None.

2 error cases do a join on a list of action_names.  If a name is None, this will choke.  Add a ['%s'%x for x in list] guard.

test_argparse.py: 
add cases to the subparser block to test the 'required' keyword, and to test the error message changes.

argparse.rst:
add a summary of the add_subparsers() arguments.
History
Date User Action Args
2013-04-13 06:24:33paul.j3setrecipients: + paul.j3, csernazs, bethard, eric.araujo, r.david.murray, zzzeek, labrat, chris.jerdonek, nvie, DasIch, elsdoerfer, G2P, Julian, dsully, seblu, bewest, bkabrda
2013-04-13 06:24:33paul.j3setmessageid: <1365834273.12.0.564979203879.issue9253@psf.upfronthosting.co.za>
2013-04-13 06:24:33paul.j3linkissue9253 messages
2013-04-13 06:24:32paul.j3create