summaryrefslogtreecommitdiff
path: root/lint.py
diff options
context:
space:
mode:
authorTorsten Marek <tmarek@google.com>2013-11-05 22:47:11 -0800
committerTorsten Marek <tmarek@google.com>2013-11-05 22:47:11 -0800
commit255208c56bc3e9f1cb2cfc2abc78cbabb5cda971 (patch)
tree3312e074e562cd5246c2b79b1921ab4bb866f628 /lint.py
parente65e963195bcaa56aa4f87ca2de99538fc412310 (diff)
downloadpylint-255208c56bc3e9f1cb2cfc2abc78cbabb5cda971.tar.gz
Allow linter subclasses to override should_analyze_file to skip all
processing of a file.
Diffstat (limited to 'lint.py')
-rw-r--r--lint.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/lint.py b/lint.py
index 30f83de..7f736f5 100644
--- a/lint.py
+++ b/lint.py
@@ -563,6 +563,22 @@ This is used by the global evaluation report (RP0004).'}),
checker.active_msgs = messages
return neededcheckers
+ def should_analyze_file(self, modname, path):
+ """Returns whether or not a module should be checked.
+
+ This implementation returns True for all inputs, indicating that all
+ files should be linted.
+
+ Subclasses may override this method to indicate that modules satisfying
+ certain conditions should not be linted.
+
+ :param str modname: The name of the module to be checked.
+ :param str path: The full path to the source code of the module.
+ :returns: True if the module should be checked.
+ :rtype: bool
+ """
+ return True
+
def check(self, files_or_modules):
"""main checking entry: check a list of files or modules from their
name.
@@ -582,6 +598,8 @@ This is used by the global evaluation report (RP0004).'}),
# build ast and check modules or packages
for descr in self.expand_files(files_or_modules):
modname, filepath = descr['name'], descr['path']
+ if not self.should_analyze_file(modname, filepath):
+ continue
if self.config.files_output:
reportfile = 'pylint_%s.%s' % (modname, self.reporter.extension)
self.reporter.set_output(open(reportfile, 'w'))