Module rulebook-pylint.rulebook_pylint.internals.nodes
Functions
def get_assignname(node: astroid.nodes.node_classes.Assign) ‑> astroid.nodes.node_classes.AssignName | None
-
Expand source code
def get_assignname(node: Assign) -> AssignName | None: target: NodeNG if isinstance(node, AnnAssign): target = node.target elif isinstance(node.targets[0], AssignName): target = node.targets[0] else: return None return target if isinstance(target, AssignName) else None
def has_decorator(node: astroid.nodes.scoped_nodes.scoped_nodes.FunctionDef | astroid.nodes.scoped_nodes.scoped_nodes.ClassDef,
name: str) ‑> bool-
Expand source code
def has_decorator(node: FunctionDef | ClassDef, name: str) -> bool: return any( ((isinstance(n, Name) and n.name == name) or \ (isinstance(n, Attribute) and n.attrname == name) \ for n in node.decorators.nodes), ) if node.decorators \ else False
def has_jump_statement(node: astroid.nodes.node_ng.NodeNG) ‑> bool
-
Expand source code
def has_jump_statement(node: NodeNG) -> bool: return any(isinstance(n, (Return, Raise, Break, Continue)) for n in node.body) \ if isinstance(node, (If, MatchCase)) \ else False
def is_comment_empty(token: tokenize.TokenInfo) ‑> bool
-
Expand source code
def is_comment_empty(token: TokenInfo) -> bool: return token.type == COMMENT and token.string == '#'
def is_multiline(node: astroid.nodes.node_ng.NodeNG) ‑> bool
-
Expand source code
def is_multiline(node: NodeNG) -> bool: if isinstance(node, If): return node.body[-1].end_lineno > node.body[0].lineno or \ is_multiline(node.test) if isinstance(node, MatchCase): return node.body[-1].end_lineno > node.body[0].lineno or \ is_multiline(node.pattern) if isinstance(node, ClassDef): return node.body[-1].end_lineno > node.body[0].lineno or \ is_multiline(node.bases) return node.end_lineno > node.lineno