78 Commits

Author SHA1 Message Date
Miss Islington (bot)
836f137f7a bpo-38821: Fix crash in argparse when using gettext (GH-17192)
(cherry picked from commit be5c79e033)

Co-authored-by: Federico Bond <federicobond@gmail.com>
2019-11-20 05:48:25 -08:00
Miss Islington (bot)
8750dfe09e bpo-37785: Fix xgettext warning in argparse (GH-15161)
(cherry picked from commit 42671aea2d)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
2019-09-13 02:45:27 -07:00
Raymond Hettinger
bd8ca9aacc [3.8] bpo-29553: Fix ArgumentParser.format_usage() for mutually exclusive groups (GH-14976) (GH-15494) (GH-15624) 2019-08-30 15:25:38 -07:00
Miss Islington (bot)
c19d6bca55 Steven Bethard designated a new maintainer for argparse (GH-15605) (GH-15606)
(cherry picked from commit 496058f599)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-29 21:27:33 -07:00
Miss Islington (bot)
1cc70322c9 bpo-16970: Adding error message for invalid args (GH-14844)
BPO -16970: Adding error message for invalid args

Applied the patch argparse-v2 patch issue 16970, ran patch check and the test suite, test_argparse with 0 errors

https://bugs.python.org/issue16970
(cherry picked from commit 4b3e975923)

Co-authored-by: tmblweed <tmblweed@users.noreply.github.com>
2019-08-01 22:16:44 -07:00
Miss Islington (bot)
b1e4d1b603 bpo-26967: fix flag grouping with allow_abbrev=False (GH-14316) (GH-14759)
The `allow_abbrev` option for ArgumentParser is documented and intended to disable support for unique prefixes of --options, which may sometimes be ambiguous due to deferred parsing.

However, the initial implementation also broke parsing of grouped short flags, such as `-ab` meaning `-a -b` (or `-a=b`).  Checking the argument for a leading `--` before rejecting it fixes this.

This was prompted by pytest-dev/pytestGH-5469, so a backport to at least 3.8 would be great 😄
And this is my first PR to CPython, so please let me know if I've missed anything!

https://bugs.python.org/issue26967
(cherry picked from commit dffca9e925)

Co-authored-by: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com>
2019-07-14 07:59:56 +02:00
Miss Islington (bot)
606ac581e2 bpo-37150: Throw ValueError if FileType class object was passed in add_argument (GH-13805)
There is a possibility that someone (like me) accidentally will omit parentheses with `FileType` arguments after `FileType`, and parser will contain wrong file until someone will try to use it.

Example:
```python
parser = argparse.ArgumentParser()
parser.add_argument('-x', type=argparse.FileType)
```

https://bugs.python.org/issue37150
(cherry picked from commit 03d5831a2d)

Co-authored-by: zygocephalus <grrrr@protonmail.com>
2019-06-07 14:11:59 -07:00
Batuhan Taşkaya
aa32a7e111 bpo-23378: Add an extend action to argparse (GH-13305)
Add an extend action to argparse


https://bugs.python.org/issue23378
2019-05-21 10:47:42 -07:00
Grant Jenks
65bef36f0b Remove superseded line from argparse.HelpFormatter() (GH-8839) 2018-08-22 23:14:14 +03:00
Berker Peksag
74102c9a5f bpo-13041: Use shutil.get_terminal_size() in argparse.HelpFormatter (GH-8459) 2018-07-25 18:23:44 +03:00
wim glenn
66f02aa32f bpo-11874: fix assertion failure in argparse metavar handling (GH-1826)
- bugfix and test for fragile metavar handling in argparse (see
  bpo-24089, bpo-14046, bpo-25058, bpo-11874)
- also fixes some incorrect tests that did not make 1-element tuples correctly
2018-06-08 20:12:49 +10:00
Ned Deily
8ebf5ceb0f bpo-33109: argparse subparsers are once again not required by default (GH-6919)
bpo-26510 in 3.7.0a2 changed the behavior of argparse to make
subparsers required by default, returning to the behavior of 2.7
and 3.2. The behavior was changed in 3.3 to be no longer required.
While it might make more sense to have the default to required,
compatibility with 3.3 through 3.6 is probably less disruptive
than trying to reintroduce compatibility with 2.7 at this point.
This change restores the 3.6 behavior.
2018-05-23 21:55:15 -04:00
Raymond Hettinger
05565ed27e OrderedDict import is no longer needed (#4890) 2018-01-11 22:20:33 -08:00
Serhiy Storchaka
81108375d9 bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
Anthony Sottile
aaf6fc0982 bpo-26510: make argparse subparsers required by default (#3027)
This fixes a regression from Python 2.  To get optional subparsers,
use the new parameter ``add_subparsers(required=False)``.

Patch by Anthony Sottile.
2017-09-20 17:35:27 -04:00
R. David Murray
0f6b9d2306 bpo-14191 Add parse_intermixed_args. (#3319)
This adds support for parsing a command line where options and positionals are intermixed as is common in many unix commands. This is paul.j3's patch with a few tweaks.
2017-09-06 20:25:40 -04:00
Xiang Zhang
b1681189af Issue #29290: Merge 3.5. 2017-01-22 14:39:20 +08:00
Xiang Zhang
7fe28ad837 Issue #29290: argparse help messages won't wrap at non-breaking spaces. 2017-01-22 14:37:22 +08:00
Vinay Sajip
9ae505041f Issue #12713: reverted fix pending further discussion. 2016-08-23 08:43:16 +01:00
Vinay Sajip
ef948cd058 Closes #12713: Allowed abbreviation of subcommands in argparse. 2016-08-18 21:23:48 +01:00
Berker Peksag
841b930a41 Issue #17940: Remove redundant code from _Section.format_help()
Output of func(*args) stored in the next line:

    item_help = join([func(*args) for func, args in self.items])

_Section.items only used by HelpFormatter._add_item() and it looks
like it doesn't have any side effects.

Patch by Yogesh Chaudhari.
2016-03-05 14:05:45 +02:00
Berker Peksag
76b1714be8 Issue #24360: Improve __repr__ of argparse.Namespace() for invalid identifiers.
Patch by Matthias Bussonnier.
2015-07-29 23:51:47 +03:00
Berker Peksag
8089cd642f Issue #14910: Add allow_abbrev parameter to argparse.ArgumentParser.
Patch by Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson.
2015-02-14 01:39:17 +02:00
Serhiy Storchaka
08448a1f4d Issue #23326: Removed __ne__ implementations. Since fixing default __ne__
implementation in issue #21408 they are redundant.
2015-01-31 12:05:05 +02:00
Georg Brandl
2514f52f4f Closes #22675: fix typo. 2014-10-20 08:36:02 +02:00