/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
pylint
/
extensions
/
/opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/extensions
mkdir
upload
Name
Size
Mode
Actions
__pycache__/
-
0755
rm
bad_builtin.py
2269
0644
edit
dl
rm
broad_try_clause.py
2302
0644
edit
dl
rm
check_elif.py
2139
0644
edit
dl
rm
code_style.py
12807
0644
edit
dl
rm
comparetozero.py
3168
0644
edit
dl
rm
comparison_placement.py
2352
0644
edit
dl
rm
confusing_elif.py
2038
0644
edit
dl
rm
consider_refactoring_into_while_condition.py
3312
0644
edit
dl
rm
consider_ternary_expression.py
1698
0644
edit
dl
rm
dict_init_mutate.py
2111
0644
edit
dl
rm
docparams.py
25905
0644
edit
dl
rm
docstyle.py
2943
0644
edit
dl
rm
dunder.py
2386
0644
edit
dl
rm
emptystring.py
2972
0644
edit
dl
rm
empty_comment.py
1955
0644
edit
dl
rm
eq_without_hash.py
1455
0644
edit
dl
rm
for_any_all.py
5825
0644
edit
dl
rm
magic_value.py
4238
0644
edit
dl
rm
mccabe.py
7056
0644
edit
dl
rm
no_self_use.py
3711
0644
edit
dl
rm
overlapping_exceptions.py
3340
0644
edit
dl
rm
private_import.py
11235
0644
edit
dl
rm
redefined_loop_name.py
3220
0644
edit
dl
rm
redefined_variable_type.py
4095
0644
edit
dl
rm
set_membership.py
1796
0644
edit
dl
rm
typing.py
20390
0644
edit
dl
rm
while_used.py
1093
0644
edit
dl
rm
_check_docs_utils.py
26360
0644
edit
dl
rm
__init__.py
575
0644
edit
dl
rm
Edit:
/opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/extensions/dunder.py
(2386B)
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt from __future__ import annotations from typing import TYPE_CHECKING from astroid import nodes from pylint.checkers import BaseChecker from pylint.constants import DUNDER_METHODS, DUNDER_PROPERTIES, EXTRA_DUNDER_METHODS from pylint.interfaces import HIGH if TYPE_CHECKING: from pylint.lint import PyLinter class DunderChecker(BaseChecker): """Checks related to dunder methods.""" name = "dunder" priority = -1 msgs = { "W3201": ( "Bad or misspelled dunder method name %s.", "bad-dunder-name", "Used when a dunder method is misspelled or defined with a name " "not within the predefined list of dunder names.", ), } options = ( ( "good-dunder-names", { "default": [], "type": "csv", "metavar": "<comma-separated names>", "help": "Good dunder names which should always be accepted.", }, ), ) def open(self) -> None: self._dunder_methods = ( EXTRA_DUNDER_METHODS + DUNDER_PROPERTIES + self.linter.config.good_dunder_names ) for since_vers, dunder_methods in DUNDER_METHODS.items(): if since_vers <= self.linter.config.py_version: self._dunder_methods.extend(list(dunder_methods.keys())) def visit_functiondef(self, node: nodes.FunctionDef) -> None: """Check if known dunder method is misspelled or dunder name is not one of the pre-defined names. """ # ignore module-level functions if not node.is_method(): return # Detect something that could be a bad dunder method if ( node.name.startswith("_") and node.name.endswith("_") and node.name not in self._dunder_methods ): self.add_message( "bad-dunder-name", node=node, args=(node.name), confidence=HIGH, ) def register(linter: PyLinter) -> None: linter.register_checker(DunderChecker(linter))
Save
cmd:
run