102 excludeMessages, includeMessages, \ |
102 excludeMessages, includeMessages, \ |
103 repeatMessages, fixCodes, noFixCodes, fixIssues, maxLineLength, \ |
103 repeatMessages, fixCodes, noFixCodes, fixIssues, maxLineLength, \ |
104 hangClosing, docType, errors, eol, encoding, backup = args |
104 hangClosing, docType, errors, eol, encoding, backup = args |
105 |
105 |
106 stats = {} |
106 stats = {} |
107 # Don't check an empty file |
|
108 if source == []: |
|
109 return stats, [] |
|
110 |
107 |
111 if fixIssues: |
108 if fixIssues: |
112 from CodeStyleFixer import CodeStyleFixer |
109 from CodeStyleFixer import CodeStyleFixer |
113 fixer = CodeStyleFixer( |
110 fixer = CodeStyleFixer( |
114 filename, source, fixCodes, noFixCodes, |
111 filename, source, fixCodes, noFixCodes, |
160 deferredFixes = {} |
157 deferredFixes = {} |
161 results = [] |
158 results = [] |
162 for fname, lineno, position, text in errors: |
159 for fname, lineno, position, text in errors: |
163 if lineno > len(source): |
160 if lineno > len(source): |
164 lineno = len(source) |
161 lineno = len(source) |
165 if "__IGNORE_WARNING__" not in \ |
162 if source: |
166 extractLineFlags(source[lineno - 1].strip()): |
163 if "__IGNORE_WARNING__" not in \ |
167 if fixer: |
164 extractLineFlags(source[lineno - 1].strip()): |
168 res, msg, id_ = fixer.fixIssue(lineno, position, text) |
165 if fixer: |
169 if res == -1: |
166 res, msg, id_ = fixer.fixIssue(lineno, position, text) |
170 itm = [lineno, position, text] |
167 if res == -1: |
171 deferredFixes[id_] = itm |
168 itm = [lineno, position, text] |
|
169 deferredFixes[id_] = itm |
|
170 else: |
|
171 itm = [lineno, position, text, False, |
|
172 res == 1, True, msg] |
172 else: |
173 else: |
173 itm = [lineno, position, text, False, res == 1, True, msg] |
174 itm = [lineno, position, text, False, |
|
175 False, False, ''] |
|
176 results.append(itm) |
174 else: |
177 else: |
175 itm = [lineno, position, text, False, False, False, ''] |
178 results.append([lineno, position, text, True, |
176 results.append(itm) |
179 False, False, '']) |
177 else: |
180 else: |
178 results.append([lineno, position, text, True, False, False, '']) |
181 results.append([lineno, position, text, False, |
|
182 False, False, '']) |
179 |
183 |
180 if fixer: |
184 if fixer: |
181 deferredResults = fixer.finalize() |
185 deferredResults = fixer.finalize() |
182 for id_ in deferredResults: |
186 for id_ in deferredResults: |
183 fixed, msg = deferredResults[id_] |
187 fixed, msg = deferredResults[id_] |