summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stapleton Cordasco <graffatcolmingov@gmail.com>2021-12-19 08:02:01 -0600
committerGitHub <noreply@github.com>2021-12-19 08:02:01 -0600
commit8b5c964321776b2fe8dfd25f4f18db0ffbdbd281 (patch)
treeacfdb63e99b94a31c781d85542baab161bfc824a
parent9777ac5a8ea1ae14e70bfb27063e2e7c0daa06e3 (diff)
parent5df259bf8d602168e5f29d4bc26ac6b34798e83b (diff)
downloadpep8-8b5c964321776b2fe8dfd25f4f18db0ffbdbd281.tar.gz
Merge pull request #1041 from asfaltboy/issue-830-e721-types-regex-incorrect
fix E721 types regex
-rwxr-xr-xpycodestyle.py7
-rw-r--r--testsuite/E72.py9
2 files changed, 10 insertions, 6 deletions
diff --git a/pycodestyle.py b/pycodestyle.py
index b839e35..c71071e 100755
--- a/pycodestyle.py
+++ b/pycodestyle.py
@@ -144,8 +144,10 @@ COMPARE_SINGLETON_REGEX = re.compile(r'(\bNone|\bFalse|\bTrue)?\s*([=!]=)'
r'\s*(?(1)|(None|False|True))\b')
COMPARE_NEGATIVE_REGEX = re.compile(r'\b(?<!is\s)(not)\s+[^][)(}{ ]+\s+'
r'(in|is)\s')
-COMPARE_TYPE_REGEX = re.compile(r'(?:[=!]=|is(?:\s+not)?)\s+type(?:s.\w+Type'
- r'|\s*\(\s*([^)]*[^ )])\s*\))')
+COMPARE_TYPE_REGEX = re.compile(
+ r'(?:[=!]=|is(?:\s+not)?)\s+type(?:\s*\(\s*([^)]*[^ )])\s*\))' +
+ r'|type(?:\s*\(\s*([^)]*[^ )])\s*\))\s+(?:[=!]=|is(?:\s+not)?)'
+)
KEYWORD_REGEX = re.compile(r'(\s*)\b(?:%s)\b(\s*)' % r'|'.join(KEYWORDS))
OPERATOR_REGEX = re.compile(r'(?:[^,\s])(\s*)(?:[-+*/|!<=>%&^]+|:=)(\s*)')
LAMBDA_REGEX = re.compile(r'\blambda\b')
@@ -1463,7 +1465,6 @@ def comparison_type(logical_line, noqa):
common base class, basestring, so you can do:
Okay: if isinstance(obj, basestring):
- Okay: if type(a1) is type(b1):
"""
match = COMPARE_TYPE_REGEX.search(logical_line)
if match and not noqa:
diff --git a/testsuite/E72.py b/testsuite/E72.py
index a60d892..bba55f5 100644
--- a/testsuite/E72.py
+++ b/testsuite/E72.py
@@ -4,7 +4,7 @@ if type(res) == type(42):
#: E721
if type(res) != type(""):
pass
-#: E721
+#: Okay
import types
if res == types.IntType:
@@ -47,8 +47,6 @@ if isinstance(res, str):
pass
if isinstance(res, types.MethodType):
pass
-if type(a) != type(b) or type(a) == type(ccc):
- pass
#: Okay
def func_histype(a, b, c):
pass
@@ -80,3 +78,8 @@ try:
pass
except Exception:
pass
+#: Okay
+from . import custom_types as types
+
+red = types.ColorTypeRED
+red is types.ColorType.RED