Skip to content

Commit 4366a73

Browse files
chore(linters): Apply ruff linter semi-automatic linting fixes (#863)
* I001 - Import block is un-sorted or un-formatted * B028 - No explicit `stacklevel` keyword argument found * COM812 - Trailing comma missing * EM101 - Exception must not use a string literal, assign to variable first * FURB113 - Use `procArgs.extend(...)` instead of repeatedly calling `procArgs.append()` * PIE810 - Call `endswith` once with a `tuple` * SIM300 - Yoda condition detected * TC006 - Add quotes to type expression in `typing.cast()` * UP032 - Use f-string instead of `format` call * Fix few ruff fixes --------- Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
1 parent 03ab152 commit 4366a73

File tree

6 files changed

+26
-19
lines changed

6 files changed

+26
-19
lines changed

src/pre_commit_terraform/__main__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""A runpy-style CLI entry-point module."""
22

3-
from sys import argv, exit as exit_with_return_code
3+
from sys import argv
4+
from sys import exit as exit_with_return_code
45

56
from ._cli import invoke_cli_app
67

src/pre_commit_terraform/_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def invoke_cli_app(cli_args: list[str]) -> ReturnCodeType:
2323
parsed_cli_args = root_cli_parser.parse_args(cli_args)
2424
invoke_cli_app = cast_to(
2525
# FIXME: attempt typing per https://stackoverflow.com/a/75666611/595220
26-
CLIAppEntryPointCallableType,
26+
'CLIAppEntryPointCallableType',
2727
parsed_cli_args.invoke_cli_app,
2828
)
2929

src/pre_commit_terraform/_cli_parsing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def attach_subcommand_parsers_to(root_cli_parser: ArgumentParser, /) -> None:
2323
)
2424
for subcommand_module in SUBCOMMAND_MODULES:
2525
subcommand_parser = subcommand_parsers.add_parser(
26-
subcommand_module.CLI_SUBCOMMAND_NAME
26+
subcommand_module.CLI_SUBCOMMAND_NAME,
2727
)
2828
subcommand_parser.set_defaults(
2929
invoke_cli_app=subcommand_module.invoke_cli_app,

src/pre_commit_terraform/terraform_docs_replace.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,13 @@ def invoke_cli_app(parsed_cli_args: Namespace) -> ReturnCodeType:
5353
'https://github.com/antonbabenko/pre-commit-terraform/issues/248'
5454
'#issuecomment-1290829226',
5555
category=UserWarning,
56+
stacklevel=1, # It's should be 2, but tests are failing w/ values >1. As it's deprecated hook, it's safe to leave it as is w/o fixing it later.
5657
)
5758

5859
dirs: list[str] = []
59-
for filename in cast_to(list[str], parsed_cli_args.filenames):
60+
for filename in cast_to('list[str]', parsed_cli_args.filenames):
6061
if os.path.realpath(filename) not in dirs and (
61-
filename.endswith('.tf') or filename.endswith('.tfvars')
62+
filename.endswith(('.tf', '.tfvars'))
6263
):
6364
dirs.append(os.path.dirname(filename))
6465

@@ -68,14 +69,17 @@ def invoke_cli_app(parsed_cli_args: Namespace) -> ReturnCodeType:
6869
try:
6970
procArgs = []
7071
procArgs.append('terraform-docs')
71-
if cast_to(bool, parsed_cli_args.sort):
72+
if cast_to('bool', parsed_cli_args.sort):
7273
procArgs.append('--sort-by-required')
73-
procArgs.append('md')
74-
procArgs.append('./{dir}'.format(dir=dir))
75-
procArgs.append('>')
76-
procArgs.append(
77-
'./{dir}/{dest}'.format(
78-
dir=dir, dest=cast_to(bool, parsed_cli_args.dest)
74+
procArgs.extend(
75+
(
76+
'md',
77+
f'./{dir}',
78+
'>',
79+
'./{dir}/{dest}'.format(
80+
dir=dir,
81+
dest=cast_to('bool', parsed_cli_args.dest),
82+
),
7983
),
8084
)
8185
subprocess.check_call(' '.join(procArgs), shell=True)

tests/pytest/_cli_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
"""Tests for the high-level CLI entry point."""
22

33
from argparse import ArgumentParser, Namespace
4-
import pytest
54

5+
import pytest
66
from pre_commit_terraform import _cli_parsing as _cli_parsing_mod
77
from pre_commit_terraform._cli import invoke_cli_app
88
from pre_commit_terraform._errors import (
9-
PreCommitTerraformExit,
109
PreCommitTerraformBaseError,
10+
PreCommitTerraformExit,
1111
PreCommitTerraformRuntimeError,
1212
)
1313
from pre_commit_terraform._structs import ReturnCode
@@ -67,7 +67,7 @@ def invoke_cli_app(self, parsed_cli_args: Namespace) -> ReturnCodeType:
6767
[CustomCmdStub()],
6868
)
6969

70-
assert ReturnCode.ERROR == invoke_cli_app(['sentinel'])
70+
assert invoke_cli_app(['sentinel']) == ReturnCode.ERROR
7171

7272
captured_outputs = capsys.readouterr()
7373
assert captured_outputs.err == f'{expected_stderr !s}\n'
@@ -89,7 +89,7 @@ def populate_argument_parser(
8989
return None
9090

9191
def invoke_cli_app(self, parsed_cli_args: Namespace) -> ReturnCodeType:
92-
raise PreCommitTerraformExit('sentinel')
92+
raise PreCommitTerraformExit(self.CLI_SUBCOMMAND_NAME)
9393

9494
monkeypatch.setattr(
9595
_cli_parsing_mod,

tests/pytest/terraform_docs_replace_test.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
from argparse import ArgumentParser, Namespace
44
from subprocess import CalledProcessError
55

6-
import pytest
76
import pytest_mock
87

8+
import pytest
99
from pre_commit_terraform._structs import ReturnCode
1010
from pre_commit_terraform.terraform_docs_replace import (
1111
invoke_cli_app,
1212
populate_argument_parser,
13+
)
14+
from pre_commit_terraform.terraform_docs_replace import (
1315
subprocess as replace_docs_subprocess_mod,
1416
)
1517

@@ -82,7 +84,7 @@ def test_control_flow_positive(
8284
check_call_mock,
8385
)
8486

85-
assert ReturnCode.OK == invoke_cli_app(parsed_cli_args)
87+
assert invoke_cli_app(parsed_cli_args) == ReturnCode.OK
8688

8789
executed_commands = [
8890
cmd for ((cmd,), _shell) in check_call_mock.call_args_list
@@ -117,6 +119,6 @@ def test_control_flow_negative(
117119
check_call_mock,
118120
)
119121

120-
assert ReturnCode.ERROR == invoke_cli_app(parsed_cli_args)
122+
assert invoke_cli_app(parsed_cli_args) == ReturnCode.ERROR
121123

122124
check_call_mock.assert_called_once_with(expected_cmd, shell=True)

0 commit comments

Comments
 (0)