Skip to content

Commit 409c66f

Browse files
committed
Let Issue take a node as input
1 parent b874e48 commit 409c66f

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

flake8_scrapy/finders/settings.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def check_name(
154154
27,
155155
"unknown setting",
156156
detail=detail,
157-
line=resolved_node.lineno,
157+
node=resolved_node,
158158
column=column,
159159
)
160160

@@ -319,8 +319,7 @@ def check_assignment_redefinition(
319319
7,
320320
"redefined setting",
321321
detail=f"seen first at line {seen[name]}",
322-
line=node.lineno,
323-
column=node.col_offset,
322+
node=node,
324323
)
325324
)
326325
continue
@@ -336,7 +335,7 @@ def check_import_statement(self, node: Import | ImportFrom) -> None:
336335
Issue(
337336
12,
338337
"imported setting",
339-
line=node.lineno,
338+
node=node,
340339
column=import_column(node, import_alias),
341340
)
342341
)
@@ -355,7 +354,7 @@ def check_all_nodes_issues(self, node: Module) -> None:
355354
Issue(
356355
11,
357356
"improper setting definition",
358-
line=child.lineno,
357+
node=child,
359358
column=definition_column(child),
360359
)
361360
)

flake8_scrapy/issues.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@ class Issue:
1111
line: int = 1
1212
column: int = 0
1313

14+
def __init__(self, code, summary, detail=None, line=None, column=None, node=None): # noqa: PLR0913
15+
if node is not None:
16+
node_line = getattr(node, "lineno", None)
17+
node_col = getattr(node, "col_offset", None)
18+
if line is None:
19+
line = node_line
20+
if column is None:
21+
column = node_col
22+
self.code = code
23+
self.summary = summary
24+
self.detail = detail
25+
self.line = line if line is not None else 1
26+
self.column = column if column is not None else 0
27+
1428
def __iter__(self):
1529
message = f"SCP{self.code:02} {self.summary}"
1630
if self.detail:

0 commit comments

Comments
 (0)