Пример #1
0
 def _check_wrong_body_nodes(self, node: ast.ClassDef) -> None:
     for sub_node in node.body:
         if isinstance(sub_node, self._allowed_body_nodes):
             continue
         if is_doc_string(sub_node):
             continue
         self.add_violation(IncorrectClassBodyContentViolation(sub_node))
Пример #2
0
    def _check_init_contents(self, node: ast.Module) -> None:
        if not self._is_init() or not node.body:
            return

        if not self.options.i_control_code:
            return

        if len(node.body) > 1:
            self.add_violation(InitModuleHasLogicViolation())
            return

        if not is_doc_string(node.body[0]):
            self.add_violation(InitModuleHasLogicViolation())
Пример #3
0
    def _check_expression(
        self,
        node: ast.Expr,
        is_first: bool = False,
    ) -> None:
        if isinstance(node.value, self._have_effect):
            return

        if is_first and is_doc_string(node):
            if isinstance(get_parent(node), self._have_doc_strings):
                return

        self.add_violation(StatementHasNoEffectViolation(node))