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 :)
|
|
Date |
User |
Action |
Args |
2022-04-11 14:57:30 | admin | set | github: 59115 |
2015-02-13 23:41:44 | berker.peksag | set | status: open -> closed resolution: fixed messages:
+ msg235928
stage: patch review -> resolved |
2015-02-13 23:39:01 | python-dev | set | nosy:
+ python-dev messages:
+ msg235926
|
2015-02-05 07:27:02 | berker.peksag | set | assignee: berker.peksag
messages:
+ msg235421 nosy:
+ berker.peksag |
2015-02-03 21:03:03 | remram | set | messages:
+ msg235362 |
2015-01-26 14:08:01 | remram | set | nosy:
+ remram
|
2015-01-22 06:12:42 | xobes | set | messages:
+ msg234477 |
2015-01-22 06:05:56 | xobes | set | nosy:
+ xobes messages:
+ msg234476
|
2014-08-07 13:00:43 | eli.bendersky | set | messages:
+ msg225009 |
2014-08-04 20:54:42 | puppet | set | files:
+ issue14910_7.diff.txt
messages:
+ msg224775 |
2014-08-04 08:23:02 | puppet | set | files:
+ issue14910_6.diff
messages:
+ msg224699 |
2014-08-04 01:28:23 | berker.peksag | set | components:
+ Library (Lib), - None stage: patch review |
2014-08-03 20:12:24 | puppet | set | messages:
+ msg224654 |
2014-08-03 12:46:52 | eli.bendersky | set | messages:
+ msg224629 |
2014-08-03 08:06:00 | puppet | set | files:
+ issue14910_5.diff
messages:
+ msg224617 |
2014-08-03 08:01:36 | puppet | set | files:
+ issue14910_4.diff
messages:
+ msg224616 |
2014-08-02 13:47:34 | eli.bendersky | set | messages:
+ msg224567 |
2014-08-02 12:27:52 | puppet | set | files:
+ issue_14910_3.diff nosy:
+ puppet messages:
+ msg224557
|
2014-05-09 04:36:19 | paul.j3 | set | files:
+ issue14910_2.patch |
2014-05-09 04:35:22 | paul.j3 | set | files:
- issue14910_2.patch |
2014-05-09 03:19:06 | paul.j3 | set | files:
+ issue14910_2.patch
messages:
+ msg218137 |
2014-04-14 19:37:23 | akuchling | set | versions:
+ Python 3.5, - Python 3.4 |
2014-02-03 15:44:48 | BreamoreBoy | set | nosy:
- BreamoreBoy
|
2013-11-28 17:15:48 | paul.j3 | set | nosy:
+ paul.j3 messages:
+ msg204678
|
2013-11-27 15:12:00 | eric.smith | set | nosy:
+ eric.smith
|
2013-11-26 17:55:48 | eli.bendersky | set | nosy:
+ eli.bendersky
|
2013-04-18 10:24:22 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages:
+ msg187235
|
2013-02-05 15:11:49 | daniel.ugra | set | nosy:
+ daniel.ugra
|
2012-12-05 18:45:51 | r.david.murray | link | issue16614 superseder |
2012-12-05 18:45:11 | r.david.murray | set | nosy:
+ Michael.Edwards
|
2012-07-22 20:06:32 | r.david.murray | set | nosy:
+ r.david.murray messages:
+ msg166162
|
2012-07-22 19:58:17 | bethard | set | messages:
+ msg166161 |
2012-07-22 19:57:10 | bethard | set | files:
+ 14910.patch
messages:
+ msg166160 versions:
+ Python 3.4, - Python 3.3 |
2012-05-26 20:26:38 | jpaugh | set | files:
+ disable-abbrev.patch keywords:
+ patch messages:
+ msg161680
|
2012-05-26 17:54:05 | jpaugh | set | nosy:
+ jpaugh messages:
+ msg161672
|
2012-05-25 18:42:27 | eric.araujo | set | versions:
+ Python 3.3, - Python 2.6, Python 2.7 |
2012-05-25 16:26:59 | tshepang | set | nosy:
+ bethard, tshepang
|
2012-05-25 11:04:16 | jens.jaehrig | set | title: argparse disable abbreviation -> argparse: disable abbreviation |
2012-05-25 11:02:22 | jens.jaehrig | set | messages:
+ msg161566 |
2012-05-25 10:59:55 | jens.jaehrig | create | |