msg161566 - (view) |
Author: Jens Jährig (jens.jaehrig) |
Date: 2012-05-25 11:02 |
argparse uses per default abbreviation in unambiguous cases. I don't want abbreviation and i'd like to disable it. But theres no option to do this. http://docs.python.org/library/argparse.html#argument-abbreviations Only to override the Handler like suggested here: http://stackoverflow.com/questions/10750802/python-argparse-disable-abbreviation/10751356#10751356 ################ # Example # ################ import argparse parser = argparse.ArgumentParser() parser.add_argument('--send', action='store_true') parser.parse_args(['--se']) # returns Namespace(send=True) But i want it only to be true when the full parameter is supplied. To prevent user errors. |
|
|
msg161672 - (view) |
Author: Jonathan Paugh (jpaugh) |
Date: 2012-05-26 17:54 |
I am dubious as to the use of this: I think resolving partial args is one of the best thing since invented since sliced bread. However, it's a good project to get my feet wet, so I'll take it on. I should have a patch later today--I'm working on test-cases just now. |
|
|
msg161680 - (view) |
Author: Jonathan Paugh (jpaugh) |
Date: 2012-05-26 20:26 |
I created a patch that exibhts the requested behavior. I added tests, and updated the documentation. I ran the test-suite against a build of Python 3.3.0a3+, and all tests check out. This changes the public API of argparse.ArgumentParser and of its parse_args() method. |
|
|
msg166160 - (view) |
Author: Steven Bethard (bethard) *  |
Date: 2012-07-22 19:57 |
I think it makes a lot of sense to allow people to disable abbreviations, so +1 on the feature request. The patch looked good. There was one typo - using "accept_abbrev" in the docstring instead of "allow_abbrev" as in the implementation, and I fixed that and uploaded a new patch. To be complete, the patch also needs to add some documentation, edit Misc/NEWS, etc. See: http://docs.python.org/devguide/patch.html#preparation |
|
|
msg166161 - (view) |
Author: Steven Bethard (bethard) *  |
Date: 2012-07-22 19:58 |
Sorry, my mistake, the doc changes were already in the patch. I just checked them and they look good too. So everything's ready to commit. Thanks for your contribution! |
|
|
msg166162 - (view) |
Author: R. David Murray (r.david.murray) *  |
Date: 2012-07-22 20:06 |
Jonathan: we are in feature freeze right now preparing 3.3 for release, so you might want to ping the issue once 3.3 is out to remind us to do the checkin. |
|
|
msg187235 - (view) |
Author: Mark Lawrence (BreamoreBoy) * |
Date: 2013-04-18 10:24 |
Ping :) |
|
|
msg204678 - (view) |
Author: paul j3 (paul.j3) *  |
Date: 2013-11-28 17:15 |
For a programmer who needs to turn off this abbreviation matching now, a simple solution is to subclass ArgumentParser: class MyParser(ArgumentParser): def _get_option_tuples(self, option_string): return [] This could be the place to implement more specialized matching (e.g. do not match on strings like '--sync'). |
|
|
msg218137 - (view) |
Author: paul j3 (paul.j3) *  |
Date: 2014-05-09 03:19 |
Update the patch - test_argparse.py - cleanup spaces argparse.rst - merging conflicts |
|
|
msg224557 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-02 12:27 |
Update the patch - issue_14910_3.diff argparse.rst - merging conflicts |
|
|
msg224567 - (view) |
Author: Eli Bendersky (eli.bendersky) *  |
Date: 2014-08-02 13:47 |
Daniel, I left some comments in Rietveld. Also it doesn't seem that you addressed the previously left comments when you fixed up the patch. |
|
|
msg224616 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-03 08:01 |
Oh, completely missed comments there too! I hope I got them all in a good way! |
|
|
msg224617 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-03 08:06 |
Sorry for a new patch this close, but just tripple checked the documentation and noticed a word to much. Made it more clear hopefully |
|
|
msg224629 - (view) |
Author: Eli Bendersky (eli.bendersky) *  |
Date: 2014-08-03 12:46 |
No worries, Daniel. You should have received an email when comments were posted to the review, did you? If you you may want to check your settings in the bug tracker. I left a couple of additional comments on the documentation file, but other than that this LGTM. |
|
|
msg224654 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-03 20:12 |
Eli, will look into those tomorrow morning, so a final patch will come during tomorrow. Checked my spam folder - and there they where, fixed the settings now so I get it faster. |
|
|
msg224699 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-04 08:23 |
Fixed documentation issues |
|
|
msg224775 - (view) |
Author: Daniel Eriksson (puppet) * |
Date: 2014-08-04 20:54 |
Updated patch |
|
|
msg225009 - (view) |
Author: Eli Bendersky (eli.bendersky) *  |
Date: 2014-08-07 13:00 |
Ezio, could you see if your comments were addressed? Steven, do you want to take another look, or is this OK to commit? |
|
|
msg234476 - (view) |
Author: Andy Zobro (xobes) |
Date: 2015-01-22 06:05 |
This breaks custom actions. e.g.: class dict_action(argparse.Action): def __init__(self, *a, **k): argparse.Action.__init__(self, *a, **k) TypeError: __init__() got an unexpected keyword argument 'allow_abbrev' |
|
|
msg234477 - (view) |
Author: Andy Zobro (xobes) |
Date: 2015-01-22 06:12 |
Ignore previous comment, I wish I could delete it. I simply provided the allow_abbrev to the wrong function and spent zero time investigating the error. |
|
|
msg235362 - (view) |
Author: Rémi Rampin (remram) * |
Date: 2015-02-03 21:03 |
It looks like the previous comments were addressed in the latest patch. Is this still planned for 3.5? Alpha 1 is next week according to PEP478. |
|
|
msg235421 - (view) |
Author: Berker Peksag (berker.peksag) *  |
Date: 2015-02-05 07:27 |
The patch LGTM. In Doc/library/argparse.rst: - add_help=True) + allow_abbrev=True, add_help=True) should be add_help=True, allow_abbrev=True) I'll add a release note and commit it. Thanks! |
|
|
msg235926 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-02-13 23:39 |
New changeset 99302634d756 by Berker Peksag in branch 'default': Issue #14910: Add allow_abbrev parameter to argparse.ArgumentParser. https://hg.python.org/cpython/rev/99302634d756 |
|
|
msg235928 - (view) |
Author: Berker Peksag (berker.peksag) *  |
Date: 2015-02-13 23:41 |
Committed. Thank you all for patches and reviews :) |
|
|