对单个文件内容逐行做正则匹配 :param rel_path: :param file_text: :param rules: :return:
(rel_path, file_text, rules)
| 117 | |
| 118 | @staticmethod |
| 119 | def scan_file_text(rel_path, file_text, rules): |
| 120 | """ |
| 121 | 对单个文件内容逐行做正则匹配 |
| 122 | :param rel_path: |
| 123 | :param file_text: |
| 124 | :param rules: |
| 125 | :return: |
| 126 | """ |
| 127 | file_result = [] |
| 128 | for lineno, line in enumerate(file_text.splitlines(), start=1): |
| 129 | line = line.strip() |
| 130 | if not line: |
| 131 | continue |
| 132 | line_result = RegexScanner.scan_line(line, rules) |
| 133 | if line_result: |
| 134 | for issue in line_result: |
| 135 | issue['path'] = rel_path |
| 136 | issue['line'] = lineno |
| 137 | file_result.append(issue) |
| 138 | return file_result |
| 139 | |
| 140 | |
| 141 | class RegexScan(CodeLintModel): |