summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-12-19 22:24:44 +0100
committerFlorian Bruhin <me@the-compiler.org>2020-12-19 22:24:44 +0100
commit2560f9774b5f31b833c2ebf84e17dc38b3083bc3 (patch)
tree2498a7c8c9e7c4d39d265e5050751a6d1f44a040 /scripts
parent214dd63441063acffa7e888f3f5b42187007da11 (diff)
downloadqutebrowser-2560f9774b5f31b833c2ebf84e17dc38b3083bc3.tar.gz
qutebrowser-2560f9774b5f31b833c2ebf84e17dc38b3083bc3.zip
doc: Use Python 3.9 simplified usage formatting
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/dev/src2asciidoc.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/scripts/dev/src2asciidoc.py b/scripts/dev/src2asciidoc.py
index aefbff7f8..60cb3d611 100755
--- a/scripts/dev/src2asciidoc.py
+++ b/scripts/dev/src2asciidoc.py
@@ -79,7 +79,7 @@ class UsageFormatter(argparse.HelpFormatter):
def _metavar_formatter(self, action, default_metavar):
"""Override _metavar_formatter to add asciidoc markup to metavars.
- Most code here is copied from Python 3.4's argparse.py.
+ Most code here is copied from Python 3.10's argparse.py.
"""
if action.metavar is not None:
result = "'{}'".format(action.metavar)
@@ -115,6 +115,19 @@ class UsageFormatter(argparse.HelpFormatter):
action.option_strings = old_option_strings[action]
return ret
+ def _format_args(self, action, default_metavar):
+ """Backport simplified star nargs usage.
+
+ https://github.com/python/cpython/pull/17106
+ """
+ if sys.version_info >= (3, 9) or action.nargs != argparse.ZERO_OR_MORE:
+ return super()._format_args(action, default_metavar)
+
+ get_metavar = self._metavar_formatter(action, default_metavar)
+ metavar = get_metavar(1)
+ assert len(metavar) == 1
+ return f'[{metavar[0]} ...]'
+
def _open_file(name, mode='w'):
"""Open a file with a preset newline/encoding mode."""