From 98e48bd6826d5556288422d8515d8d1c9cc02176 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 25 Jan 2011 12:48:50 +0000 Subject: [PATCH] new script --- extra/shutils/pylint.py | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 extra/shutils/pylint.py diff --git a/extra/shutils/pylint.py b/extra/shutils/pylint.py new file mode 100644 index 000000000..8521e61ab --- /dev/null +++ b/extra/shutils/pylint.py @@ -0,0 +1,45 @@ +#! /usr/bin/env python + +# Runs pylint on all python scripts found in a directory tree +# Reference: http://rowinggolfer.blogspot.com/2009/08/pylint-recursively.html + +import os +import re +import sys + +total = 0.0 +count = 0 + +def check(module): + global total, count + + if module[-3:] == ".py": + + print "CHECKING ", module + pout = os.popen('pylint %s'% module, 'r') + for line in pout: + if re.match("E....:.", line): + print line + if "Your code has been rated at" in line: + print line + score = re.findall("\d.\d\d", line)[0] + total += float(score) + count += 1 + +if __name__ == "__main__": + try: + print sys.argv + BASE_DIRECTORY = sys.argv[1] + except IndexError: + print "no directory specified, defaulting to current working directory" + BASE_DIRECTORY = os.getcwd() + + print "looking for *.py scripts in subdirectories of ", BASE_DIRECTORY + for root, dirs, files in os.walk(BASE_DIRECTORY): + for name in files: + filepath = os.path.join(root, name) + check(filepath) + + print "==" * 50 + print "%d modules found"% count + print "AVERAGE SCORE = %.02f"% (total / count)