def process_module(self, node: nodes.Module) -> None:
pattern = re.compile(r"re\.compile\(")
+ import_pattern = re.compile(r"^\s*(import|from)\s+isctest\b")
with node.stream() as stream:
- for lineno, line in enumerate(stream):
- if pattern.search(line.decode("utf-8")):
- self.add_message("re-compile-alias", line=lineno)
+ lines = [line.decode("utf-8", errors="replace") for line in stream]
+
+ if not any(
+ import_pattern.search(line) and not line.lstrip().startswith("#")
+ for line in lines
+ ):
+ return
+
+ for lineno, line in enumerate(lines):
+ if pattern.search(line):
+ self.add_message("re-compile-alias", line=lineno)
def register(linter: PyLinter) -> None: