Skip to content

Commit eba5b80

Browse files
committed
Replacea few old school % formating things with f-strings
1 parent 0f102d5 commit eba5b80

File tree

2 files changed

+8
-12
lines changed

2 files changed

+8
-12
lines changed

cmd2/argparse_custom.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,11 +1003,11 @@ def _format_usage(
10031003

10041004
# if no optionals or positionals are available, usage is just prog
10051005
elif not actions:
1006-
usage = '%(prog)s' % {"prog": self._prog}
1006+
usage = f'{self._prog}'
10071007

10081008
# if optionals and positionals are available, calculate usage
10091009
else:
1010-
prog = '%(prog)s' % {"prog": self._prog}
1010+
prog = f'{self._prog}'
10111011

10121012
# split optionals from positionals
10131013
optionals = []
@@ -1098,7 +1098,7 @@ def get_lines(parts: list[str], indent: str, prefix: Optional[str] = None) -> li
10981098
usage = '\n'.join(lines)
10991099

11001100
# prefix with 'Usage:'
1101-
return '%s%s\n\n' % (prefix, usage)
1101+
return f'{prefix}{usage}\n\n'
11021102

11031103
def _format_action_invocation(self, action: argparse.Action) -> str:
11041104
if not action.option_strings:
@@ -1134,7 +1134,7 @@ def _determine_metavar(
11341134
elif action.choices is not None:
11351135
choice_strs = [str(choice) for choice in action.choices]
11361136
# Begin cmd2 customization (added space after comma)
1137-
result = '{%s}' % ', '.join(choice_strs)
1137+
result = f'{", ".join(choice_strs)}'
11381138
# End cmd2 customization
11391139
else:
11401140
result = default_metavar
@@ -1164,17 +1164,17 @@ def _format_args(self, action: argparse.Action, default_metavar: Union[str, tupl
11641164
if nargs_range is not None:
11651165
range_str = f'{nargs_range[0]}+' if nargs_range[1] == constants.INFINITY else f'{nargs_range[0]}..{nargs_range[1]}'
11661166

1167-
return '{}{{{}}}'.format('%s' % metavar_formatter(1), range_str)
1167+
return '{}{{{}}}'.format('%s' % metavar_formatter(1), range_str) # noqa: UP031
11681168

11691169
# Make this output less verbose. Do not customize the output when metavar is a
11701170
# tuple of strings. Allow argparse's formatter to handle that instead.
11711171
if isinstance(metavar, str):
11721172
if action.nargs == ZERO_OR_MORE:
1173-
return '[%s [...]]' % metavar_formatter(1)
1173+
return '[%s [...]]' % metavar_formatter(1) # noqa: UP031
11741174
if action.nargs == ONE_OR_MORE:
1175-
return '%s [...]' % metavar_formatter(1)
1175+
return '%s [...]' % metavar_formatter(1) # noqa: UP031
11761176
if isinstance(action.nargs, int) and action.nargs > 1:
1177-
return '{}{{{}}}'.format('%s' % metavar_formatter(1), action.nargs)
1177+
return '{}{{{}}}'.format('%s' % metavar_formatter(1), action.nargs) # noqa: UP031
11781178

11791179
return super()._format_args(action, default_metavar) # type: ignore[arg-type]
11801180

pyproject.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,6 @@ per-file-ignores."cmd2/__init__.py" = [
256256
"F401", # Unused import
257257
]
258258

259-
per-file-ignores."cmd2/argparse_custom.py" = [
260-
"UP031", # Use format specifiers instead of percent format (auto fix is unsafe)
261-
]
262-
263259
per-file-ignores."examples/*.py" = [
264260
"ANN", # Ignore all type annotation rules in examples folder
265261
"D", # Ignore all pydocstyle rules in examples folder

0 commit comments

Comments
 (0)