Add new rule to enforce relative imports in pylint (#77358)

* Add new rule to enforce relative imports in pylint

* Early return

* Adjust components
This commit is contained in:
epenet
2022-08-29 08:55:32 +02:00
committed by GitHub
parent 067d21a307
commit 8ed689fede
23 changed files with 46 additions and 23 deletions

View File

@@ -329,7 +329,13 @@ class HassImportsFormatChecker(BaseChecker): # type: ignore[misc]
f"{self.current_package}."
):
self.add_message("hass-relative-import", node=node)
elif obsolete_imports := _OBSOLETE_IMPORT.get(node.modname):
return
if self.current_package.startswith("homeassistant.components") and node.modname == "homeassistant.components":
for name in node.names:
if name[0] == self.current_package.split(".")[2]:
self.add_message("hass-relative-import", node=node)
return
if obsolete_imports := _OBSOLETE_IMPORT.get(node.modname):
for name_tuple in node.names:
for obsolete_import in obsolete_imports:
if import_match := obsolete_import.constant.match(name_tuple[0]):