Skip to content

Commit 619d16a

Browse files
committed
Omit relative imports from checking
1 parent 39c66b1 commit 619d16a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/flake8_requirements/checker.py

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ def visit_Import(self, node):
3636
self.imports.append((node, node.names[0].name))
3737

3838
def visit_ImportFrom(self, node):
39+
if node.level != 0:
40+
# Omit relative imports (local modules).
41+
return
3942
self.imports.append((node, node.module))
4043

4144

test/test_checker.py

+14
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,17 @@ def test_3rd_party_hyphen(self):
6060
def test_3rd_party_multi_module(self):
6161
errors = check("import pkg_resources")
6262
self.assertEqual(len(errors), 0)
63+
64+
def test_non_top_level_import(self):
65+
errors = check("def function():\n import cat")
66+
self.assertEqual(len(errors), 1)
67+
self.assertEqual(
68+
errors[0][2],
69+
"I900 'cat' not listed as a requirement",
70+
)
71+
72+
def test_relative_import(self):
73+
errors = check("from . import local")
74+
self.assertEqual(len(errors), 0)
75+
errors = check("from ..local import local")
76+
self.assertEqual(len(errors), 0)

0 commit comments

Comments
 (0)