summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--checkeol.py31
1 files 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"])