[Python-checkins] gh-91832: Add 'required' attr to argparse.Action repr (GH-91841)

miss-islington webhook-mailer at python.org
Thu Apr 28 11:19:18 EDT 2022


https://github.com/python/cpython/commit/fa87c362e1861aa1092c1dcd409b00ae25db7874
commit: fa87c362e1861aa1092c1dcd409b00ae25db7874
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-04-28T08:19:07-07:00
summary:

gh-91832: Add 'required' attr to argparse.Action repr (GH-91841)


GH- Adding 'required' to names in Lib.argparse.Action

gh-91832:
Added 'required' to the list `names` in `Lib.argparse.Action`.
Changed constant strings that test the Action object.

Automerge-Triggered-By: GH:merwok
(cherry picked from commit 4ed3900041c688a02dca1eb3323083d720dd0d93)

Co-authored-by: Abhigyan Bose <abhigyandeepbose at gmail.com>

files:
A Misc/NEWS.d/next/Library/2022-04-23-03-24-00.gh-issue-91832.TyLi65.rst
M Lib/argparse.py
M Lib/test/test_argparse.py

diff --git a/Lib/argparse.py b/Lib/argparse.py
index c46bb302711fc..b9c22051f69d7 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -848,6 +848,7 @@ def _get_kwargs(self):
             'default',
             'type',
             'choices',
+            'required',
             'help',
             'metavar',
         ]
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index dcc392faf2310..2d1cec13c22f3 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -4873,12 +4873,13 @@ def test_optional(self):
             nargs='+',
             default=42,
             choices=[1, 2, 3],
+            required=False,
             help='HELP',
             metavar='METAVAR')
         string = (
             "Action(option_strings=['--foo', '-a', '-b'], dest='b', "
             "nargs='+', const=None, default=42, type='int', "
-            "choices=[1, 2, 3], help='HELP', metavar='METAVAR')")
+            "choices=[1, 2, 3], required=False, help='HELP', metavar='METAVAR')")
         self.assertStringEqual(option, string)
 
     def test_argument(self):
@@ -4889,12 +4890,13 @@ def test_argument(self):
             nargs='?',
             default=2.5,
             choices=[0.5, 1.5, 2.5],
+            required=True,
             help='H HH H',
             metavar='MV MV MV')
         string = (
             "Action(option_strings=[], dest='x', nargs='?', "
             "const=None, default=2.5, type=%r, choices=[0.5, 1.5, 2.5], "
-            "help='H HH H', metavar='MV MV MV')" % float)
+            "required=True, help='H HH H', metavar='MV MV MV')" % float)
         self.assertStringEqual(argument, string)
 
     def test_namespace(self):
diff --git a/Misc/NEWS.d/next/Library/2022-04-23-03-24-00.gh-issue-91832.TyLi65.rst b/Misc/NEWS.d/next/Library/2022-04-23-03-24-00.gh-issue-91832.TyLi65.rst
new file mode 100644
index 0000000000000..0ebf773546558
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-04-23-03-24-00.gh-issue-91832.TyLi65.rst
@@ -0,0 +1 @@
+Add ``required`` attribute to :class:`argparse.Action` repr output.



More information about the Python-checkins mailing list