Merge "Add "is not" test to hacking.py"
This commit is contained in:
+17
-3
@@ -503,20 +503,34 @@ def nova_localization_strings(logical_line, tokens):
|
||||
#TODO(jogo) Dict and list objects
|
||||
|
||||
|
||||
def nova_is_not(logical_line):
|
||||
r"""Check localization in line.
|
||||
|
||||
Okay: if x is not y
|
||||
N901: if not X is Y
|
||||
N901: if not X.B is Y
|
||||
"""
|
||||
split_line = logical_line.split()
|
||||
if (len(split_line) == 5 and split_line[0] == 'if' and
|
||||
split_line[1] == 'not' and split_line[3] == 'is'):
|
||||
yield (logical_line.find('not'), "N901: Use the 'is not' "
|
||||
"operator for when testing for unequal identities")
|
||||
|
||||
|
||||
def nova_not_in(logical_line):
|
||||
r"""Check localization in line.
|
||||
|
||||
Okay: if x not in y
|
||||
Okay: if not (X in Y or X is Z)
|
||||
Okay: if not (X in Y)
|
||||
N901: if not X in Y
|
||||
N901: if not X.B in Y
|
||||
N902: if not X in Y
|
||||
N902: if not X.B in Y
|
||||
"""
|
||||
split_line = logical_line.split()
|
||||
if (len(split_line) == 5 and split_line[0] == 'if' and
|
||||
split_line[1] == 'not' and split_line[3] == 'in' and not
|
||||
split_line[2].startswith('(')):
|
||||
yield (logical_line.find('not'), "N901: Use the 'not in' "
|
||||
yield (logical_line.find('not'), "N902: Use the 'not in' "
|
||||
"operator for collection membership evaluation")
|
||||
|
||||
current_file = ""
|
||||
|
||||
Reference in New Issue
Block a user