1. Will Harding
  2. coverage.py

Commits

Ned Batchelder  committed dbaf4ba

More checking in checkeol.py

  • Participants
  • Parent commits 68e5f50
  • Branches 3.2_branch

Comments (0)

Files changed (1)

File checkeol.py

View file
  • Ignore whitespace
-# 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"])