mirror of
https://github.com/home-assistant/core.git
synced 2025-08-05 21:55:10 +02:00
Ignore decorators
This commit is contained in:
@@ -27,14 +27,24 @@ class HassLoadFixturesChecker(BaseChecker):
|
|||||||
}
|
}
|
||||||
options = ()
|
options = ()
|
||||||
|
|
||||||
|
_decorators_queue: list[nodes.Decorators]
|
||||||
_function_queue: list[nodes.FunctionDef | nodes.AsyncFunctionDef]
|
_function_queue: list[nodes.FunctionDef | nodes.AsyncFunctionDef]
|
||||||
_in_test_module: bool
|
_in_test_module: bool
|
||||||
|
|
||||||
def visit_module(self, node: nodes.Module) -> None:
|
def visit_module(self, node: nodes.Module) -> None:
|
||||||
"""Visit a module definition."""
|
"""Visit a module definition."""
|
||||||
self._in_test_module = node.name.startswith("tests.")
|
self._in_test_module = node.name.startswith("tests.")
|
||||||
|
self._decorators_queue = []
|
||||||
self._function_queue = []
|
self._function_queue = []
|
||||||
|
|
||||||
|
def visit_decorators(self, node: nodes.Decorators) -> None:
|
||||||
|
"""Visit a function definition."""
|
||||||
|
self._decorators_queue.append(node)
|
||||||
|
|
||||||
|
def leave_decorators(self, node: nodes.Decorators) -> None:
|
||||||
|
"""Leave a function definition."""
|
||||||
|
self._decorators_queue.pop()
|
||||||
|
|
||||||
def visit_functiondef(self, node: nodes.FunctionDef) -> None:
|
def visit_functiondef(self, node: nodes.FunctionDef) -> None:
|
||||||
"""Visit a function definition."""
|
"""Visit a function definition."""
|
||||||
self._function_queue.append(node)
|
self._function_queue.append(node)
|
||||||
@@ -54,6 +64,8 @@ class HassLoadFixturesChecker(BaseChecker):
|
|||||||
# Ensure we are in an async function context
|
# Ensure we are in an async function context
|
||||||
or not self._function_queue
|
or not self._function_queue
|
||||||
or not isinstance(self._function_queue[-1], nodes.AsyncFunctionDef)
|
or not isinstance(self._function_queue[-1], nodes.AsyncFunctionDef)
|
||||||
|
# Ensure we are not in the decorators
|
||||||
|
or self._decorators_queue
|
||||||
# Check function name
|
# Check function name
|
||||||
or not isinstance(node.func, nodes.Name)
|
or not isinstance(node.func, nodes.Name)
|
||||||
or node.func.name not in FUNCTION_NAMES
|
or node.func.name not in FUNCTION_NAMES
|
||||||
|
Reference in New Issue
Block a user