From 843e2b6ea1cf8d71c1de9530593561a9d3ee648b Mon Sep 17 00:00:00 2001 From: David Bieber Date: Mon, 28 Nov 2022 12:24:49 -0500 Subject: [PATCH 1/3] Show default values for kwonly arguments in help text. Includes test. --- fire/helptext.py | 2 ++ fire/helptext_test.py | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/fire/helptext.py b/fire/helptext.py index 5098b26b..331b6649 100644 --- a/fire/helptext.py +++ b/fire/helptext.py @@ -524,6 +524,8 @@ def _GetArgDefault(flag, spec): for arg, default in zip(args_with_defaults, spec.defaults): if arg == flag: return repr(default) + if flag in spec.kwonlydefaults: + return repr(spec.kwonlydefaults[flag]) return '' diff --git a/fire/helptext_test.py b/fire/helptext_test.py index 03ade4a5..14e0874a 100644 --- a/fire/helptext_test.py +++ b/fire/helptext_test.py @@ -296,6 +296,18 @@ def testHelpTextKeywordOnlyArgumentsWithoutDefault(self): self.assertIn('NAME\n double', output) self.assertIn('FLAGS\n --count=COUNT (required)', output) + @testutils.skipIf( + six.PY2, + 'Python 2 does not support required name-only arguments.') + def testHelpTextFunctionMixedDefaults(self): + component = tc.py3.HelpTextComponent().identity + t = trace.FireTrace(component, name='FunctionMixedDefaults') + output = helptext.HelpText(component, trace=t) + self.assertIn('NAME\n FunctionMixedDefaults', output) + self.assertIn('FunctionMixedDefaults ', output) + self.assertIn('--alpha=ALPHA (required)', output) + self.assertIn('--beta=BETA\n Default: \'0\'', output) + def testHelpScreen(self): component = tc.ClassWithDocstring() t = trace.FireTrace(component, name='ClassWithDocstring') From c4e5575b9e7198dce0ddd731cc8358c75f2c0e4f Mon Sep 17 00:00:00 2001 From: David Bieber Date: Mon, 28 Nov 2022 12:28:02 -0500 Subject: [PATCH 2/3] Make Python versions more specific --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc5e0405..f0c4d371 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: [2.7, 3.5, 3.7, 3.8, 3.9] + python-version: [2.7.18, 3.5.10, 3.7.15, 3.8.14, 3.9.15] steps: # Checkout the repo. From 59c018511bc7b8d434ac3d1f7167fec11ea3df22 Mon Sep 17 00:00:00 2001 From: David Bieber Date: Mon, 28 Nov 2022 12:31:08 -0500 Subject: [PATCH 3/3] Python setup version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f0c4d371..bc5e0405 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: [2.7.18, 3.5.10, 3.7.15, 3.8.14, 3.9.15] + python-version: [2.7, 3.5, 3.7, 3.8, 3.9] steps: # Checkout the repo.