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 bethard, deckar01, docs@python, paul.j3
Date 2016-03-24.20:16:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1458850579.12.0.667719402728.issue22401@psf.upfronthosting.co.za>
In-reply-to
Content
Neither 'parents' or 'resolve' are documented in any detail.  Most of what I know comes from reading the code.

'parents' are, I think, most useful when importing a parser from some other module.  It lets you add arguments to your own parser without digging into the other module's code.  And 'resolve' lets you overwrite arguments.  

Copying arguments by reference is the easiest thing to do in Python, and apparently no one asked, 'what if the user wants to use the parent independently?'

Note I had to add a 'copy' method, because nothing else in 'argparse' needs it.  And no one has written code to check whether two Actions are the same (other than the obvious one of checking object ids).  Again, no need.

Copy and paste and utility functions are great ways of defining multiple arguments when mechanisms like 'parents' prove to be too clumsy.  Look at `test_argparse.py` for examples of utility code that streamlines parser definition.  Each test case requires a new parser (or more).
History
Date User Action Args
2016-03-24 20:16:19paul.j3setrecipients: + paul.j3, bethard, docs@python, deckar01
2016-03-24 20:16:19paul.j3setmessageid: <1458850579.12.0.667719402728.issue22401@psf.upfronthosting.co.za>
2016-03-24 20:16:19paul.j3linkissue22401 messages
2016-03-24 20:16:18paul.j3create