summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2022-06-18 09:32:24 +0200
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2022-06-18 10:31:21 +0200
commitb05ac51ad2e3785b6b9b071b8cb241993c914105 (patch)
tree04d6ba8f245ccf7cfaa341d9d571c4a7dd6202af
parent417e8c3560bcb733a08dbdc8a0d33d5e3cb4a1b0 (diff)
downloadpylint-git-b05ac51ad2e3785b6b9b071b8cb241993c914105.tar.gz
Pin ``colorama`` to lowest supported version (#6970)
-rw-r--r--doc/whatsnew/2/2.14/full.rst2
-rw-r--r--pylint/checkers/variables.py38
-rw-r--r--setup.cfg2
3 files changed, 15 insertions, 27 deletions
diff --git a/doc/whatsnew/2/2.14/full.rst b/doc/whatsnew/2/2.14/full.rst
index 8bd3ada5f..2f6819b84 100644
--- a/doc/whatsnew/2/2.14/full.rst
+++ b/doc/whatsnew/2/2.14/full.rst
@@ -14,6 +14,8 @@ Release date: TBA
Closes #2270
+* Allow suppressing ``undefined-loop-variable`` and ``undefined-variable`` without raising ``useless-suppression``.
+
* Fixed false positive for ``undefined-variable`` for ``__class__`` in inner methods.
Closes #4032
diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py
index 9027b6588..75a064d60 100644
--- a/pylint/checkers/variables.py
+++ b/pylint/checkers/variables.py
@@ -1081,15 +1081,6 @@ class VariablesChecker(BaseChecker):
"""This is a queue, last in first out."""
self._postponed_evaluation_enabled = False
- def open(self) -> None:
- """Called when loading the checker."""
- self._is_undefined_variable_enabled = self.linter.is_message_enabled(
- "undefined-variable"
- )
- self._is_undefined_loop_variable_enabled = self.linter.is_message_enabled(
- "undefined-loop-variable"
- )
-
def leave_for(self, node: nodes.For) -> None:
self._store_type_annotation_names(node)
@@ -1353,8 +1344,7 @@ class VariablesChecker(BaseChecker):
return
self._undefined_and_used_before_checker(node, stmt)
- if self._is_undefined_loop_variable_enabled:
- self._loopvar_name(node)
+ self._loopvar_name(node)
@utils.only_required_for_messages("redefined-outer-name")
def visit_excepthandler(self, node: nodes.ExceptHandler) -> None:
@@ -1411,23 +1401,19 @@ class VariablesChecker(BaseChecker):
# we have not found the name, if it isn't a builtin, that's an
# undefined name !
- if (
- self._is_undefined_variable_enabled
- and not (
- node.name in nodes.Module.scope_attrs
- or utils.is_builtin(node.name)
- or node.name in self.linter.config.additional_builtins
- or (
- node.name == "__class__"
- and any(
- i.is_method()
- for i in node.node_ancestors()
- if isinstance(i, nodes.FunctionDef)
- )
+ if not (
+ node.name in nodes.Module.scope_attrs
+ or utils.is_builtin(node.name)
+ or node.name in self.linter.config.additional_builtins
+ or (
+ node.name == "__class__"
+ and any(
+ i.is_method()
+ for i in node.node_ancestors()
+ if isinstance(i, nodes.FunctionDef)
)
)
- and not utils.node_ignores_exception(node, NameError)
- ):
+ ) and not utils.node_ignores_exception(node, NameError):
self.add_message("undefined-variable", args=node.name, node=node)
def _should_node_be_skipped(
diff --git a/setup.cfg b/setup.cfg
index ebe3815fe..7b2c954fd 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -52,7 +52,7 @@ install_requires =
mccabe>=0.6,<0.8
tomli>=1.1.0;python_version<"3.11"
tomlkit>=0.10.1
- colorama;sys_platform=="win32"
+ colorama>=0.4.5;sys_platform=="win32"
typing-extensions>=3.10.0;python_version<"3.10"
python_requires = >=3.7.2