152 r'^(?:[^\'"]*[\'"][^\'"]*[\'"])*\s*%|^\s*%') |
154 r'^(?:[^\'"]*[\'"][^\'"]*[\'"])*\s*%|^\s*%') |
153 |
155 |
154 import builtins |
156 import builtins |
155 self.__builtins = [b for b in dir(builtins) |
157 self.__builtins = [b for b in dir(builtins) |
156 if b not in self.BuiltinsWhiteList] |
158 if b not in self.BuiltinsWhiteList] |
|
159 |
|
160 # TODO: add support for eradicator whitelist |
|
161 self.__eradicator = Eradicator() |
157 |
162 |
158 # statistics counters |
163 # statistics counters |
159 self.counters = {} |
164 self.counters = {} |
160 |
165 |
161 # collection of detected errors |
166 # collection of detected errors |
382 |
387 |
383 def __checkCommentedCode(self): |
388 def __checkCommentedCode(self): |
384 """ |
389 """ |
385 Private method to check for commented code. |
390 Private method to check for commented code. |
386 """ |
391 """ |
387 from eradicate import commented_out_code_line_numbers |
|
388 |
|
389 source = "".join(self.__source) |
392 source = "".join(self.__source) |
390 commentedCodeCheckerArgs = self.__args.get( |
393 commentedCodeCheckerArgs = self.__args.get( |
391 "CommentedCodeChecker", self.__defaultArgs["CommentedCodeChecker"]) |
394 "CommentedCodeChecker", self.__defaultArgs["CommentedCodeChecker"]) |
392 aggressive = commentedCodeCheckerArgs.get( |
395 aggressive = commentedCodeCheckerArgs.get( |
393 "Aggressive", |
396 "Aggressive", |
394 self.__defaultArgs["CommentedCodeChecker"]["Aggressive"]) |
397 self.__defaultArgs["CommentedCodeChecker"]["Aggressive"]) |
395 for markedLine in commented_out_code_line_numbers( |
398 for markedLine in self.__eradicator.commented_out_code_line_numbers( |
396 source, aggressive=aggressive): |
399 source, aggressive=aggressive): |
397 self.__error(markedLine - 1, 0, "M891") |
400 self.__error(markedLine - 1, 0, "M891") |
398 |
401 |
399 def __checkLineContinuation(self): |
402 def __checkLineContinuation(self): |
400 """ |
403 """ |