From 404a935f379afae92a812daf64a0a5877f5e33e2 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 5 Dec 2009 15:21:11 -0500 Subject: More checking in checkeol.py --HG-- branch : 3.2_branch --- checkeol.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/checkeol.py b/checkeol.py index 68efc2fa..1bb02d67 100644 --- a/checkeol.py +++ b/checkeol.py @@ -1,24 +1,35 @@ -# Check files for incorrect newlines +# Check files for incorrect newlines and trailing whitespace. import fnmatch, os -def check_file(fname): +def check_file(fname, crlf=True, trail_white=True): for n, line in enumerate(open(fname, "rb")): - if "\r" in line: - print "%s@%d: CR found" % (fname, n) - return + if crlf: + if "\r" in line: + print "%s@%d: CR found" % (fname, n+1) + return + if trail_white: + line = line[:-1] + if line.rstrip() != line: + print "%s@%d: trailing whitespace found" % (fname, n+1) + return -def check_files(root, patterns): + +def check_files(root, patterns, **kwargs): for root, dirs, files in os.walk(root): for f in files: fname = os.path.join(root, f) for p in patterns: if fnmatch.fnmatch(fname, p): - check_file(fname) + check_file(fname, **kwargs) break - if '.svn' in dirs: - dirs.remove('.svn') + for pattern in ['.svn', '.hg']: + if pattern in dirs: + dirs.remove(pattern) + check_files("coverage", ["*.py"]) -check_files("test", ["*.py", "*,cover"]) +check_files("test", ["*.py"]) +check_files("test", ["*,cover"], trail_white=False) check_file("setup.py") +check_files(".", ["*.txt"]) -- cgit v1.2.1