From 866a7bfd2c69b3c409df95dbb859d15cbbafce50 Mon Sep 17 00:00:00 2001 From: Jokimax Date: Sat, 8 Apr 2023 14:23:57 +0300 Subject: [PATCH 1/5] gh-101599: changed argparse -h/-help flag for the sake of readability --- Lib/argparse.py | 8 ++++---- Lib/test/test_argparse.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index a819d2650e85f0..30eab28b98921a 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -571,16 +571,16 @@ def _format_action_invocation(self, action): # -s, --long if action.nargs == 0: parts.extend(action.option_strings) + return ', '.join(parts) # if the Optional takes a value, format is: - # -s ARGS, --long ARGS + # -s, --long ARGS else: default = self._get_default_metavar_for_optional(action) args_string = self._format_args(action, default) for option_string in action.option_strings: - parts.append('%s %s' % (option_string, args_string)) - - return ', '.join(parts) + parts.append('%s' % option_string) + return ', '.join(parts) + ' ' + args_string def _metavar_formatter(self, action, default_metavar): if action.metavar is not None: diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py index 861da2326d1214..42fa7a4cf8768e 100644 --- a/Lib/test/test_argparse.py +++ b/Lib/test/test_argparse.py @@ -3781,7 +3781,7 @@ class TestHelpUsageWithParentheses(HelpTestCase): options: -h, --help show this help message and exit - -p {1 (option A), 2 (option B)}, --optional {1 (option A), 2 (option B)} + -p, --optional {1 (option A), 2 (option B)} ''' version = '' @@ -4264,8 +4264,8 @@ class TestHelpAlternatePrefixChars(HelpTestCase): help = usage + '''\ options: - ^^foo foo help - ;b BAR, ;;bar BAR bar help + ^^foo foo help + ;b, ;;bar BAR bar help ''' version = '' From 89987377cd464fae13014405d59fc1111cc30415 Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Sat, 8 Apr 2023 11:41:07 +0000 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../next/Library/2023-04-08-11-41-07.gh-issue-101599.PaWNFh.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Library/2023-04-08-11-41-07.gh-issue-101599.PaWNFh.rst diff --git a/Misc/NEWS.d/next/Library/2023-04-08-11-41-07.gh-issue-101599.PaWNFh.rst b/Misc/NEWS.d/next/Library/2023-04-08-11-41-07.gh-issue-101599.PaWNFh.rst new file mode 100644 index 00000000000000..a1608a1ae0d2fa --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-04-08-11-41-07.gh-issue-101599.PaWNFh.rst @@ -0,0 +1 @@ +Changed argparse flag options formatting to remove redundancy. From 68947c6bb846e73eda408cf67f6044128815c625 Mon Sep 17 00:00:00 2001 From: Jokimax <77680901+Jokimax@users.noreply.github.com> Date: Fri, 2 Feb 2024 22:11:20 +0200 Subject: [PATCH 3/5] Update Lib/argparse.py Co-authored-by: Serhiy Storchaka --- Lib/argparse.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index 30eab28b98921a..ddb8fe3a3b22bd 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -570,8 +570,7 @@ def _format_action_invocation(self, action): # if the Optional doesn't take a value, format is: # -s, --long if action.nargs == 0: - parts.extend(action.option_strings) - return ', '.join(parts) + return ', '.join(action.option_strings) # if the Optional takes a value, format is: # -s, --long ARGS From 623db732d65a85e78c01fe56a2691fede0f04313 Mon Sep 17 00:00:00 2001 From: Jokimax Date: Fri, 2 Feb 2024 22:34:10 +0200 Subject: [PATCH 4/5] implement suggestion --- Lib/argparse.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index bd8c9bbc35c137..430a2710d19b53 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -576,9 +576,7 @@ def _format_action_invocation(self, action): else: default = self._get_default_metavar_for_optional(action) args_string = self._format_args(action, default) - for option_string in action.option_strings: - parts.append('%s' % option_string) - return ', '.join(parts) + ' ' + args_string + return ', '.join(action.option_strings) + ' ' + args_string def _metavar_formatter(self, action, default_metavar): if action.metavar is not None: From bf8481d782b06181735b9351aa69044a57b1dd19 Mon Sep 17 00:00:00 2001 From: Jokimax <77680901+Jokimax@users.noreply.github.com> Date: Fri, 2 Feb 2024 23:18:27 +0200 Subject: [PATCH 5/5] Update argparse.py --- Lib/argparse.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index 430a2710d19b53..9e19f39fadd87b 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -564,7 +564,6 @@ def _format_action_invocation(self, action): return metavar else: - parts = [] # if the Optional doesn't take a value, format is: # -s, --long