summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaura M?dioni <laura.medioni@logilab.fr>2015-11-25 14:19:14 +0100
committerLaura M?dioni <laura.medioni@logilab.fr>2015-11-25 14:19:14 +0100
commit508befc5aefe6ffc5ea522455f744069efa1559f (patch)
treeb41064c6b9261bf9330e7fc2c09f67819183d8d1
parentf086f414bb421aaa384b70526cfee211ac067215 (diff)
downloadpylint-508befc5aefe6ffc5ea522455f744069efa1559f.tar.gz
Ignore multiple comparisons in unneeded-not rule
related to issue #703
-rw-r--r--pylint/checkers/base.py3
-rw-r--r--pylint/test/functional/unneeded_not.py4
2 files changed, 7 insertions, 0 deletions
diff --git a/pylint/checkers/base.py b/pylint/checkers/base.py
index bccc967..73e0315 100644
--- a/pylint/checkers/base.py
+++ b/pylint/checkers/base.py
@@ -1869,6 +1869,9 @@ class NotChecker(_BasicChecker):
operand.operand.as_string()))
elif isinstance(operand, astroid.Compare):
left = operand.left
+ # ignore multiple comparisons
+ if len(operand.ops) > 1:
+ return
operator, right = operand.ops[0]
if operator not in self.reverse_op:
return
diff --git a/pylint/test/functional/unneeded_not.py b/pylint/test/functional/unneeded_not.py
index 0f56218..8f7ba93 100644
--- a/pylint/test/functional/unneeded_not.py
+++ b/pylint/test/functional/unneeded_not.py
@@ -45,3 +45,7 @@ def not_checked():
pass
if 2 not in [3, 4]:
pass
+ if not someint == bool_var == 2:
+ pass
+ if not 2 <= someint < 3 < 4:
+ pass