# Check files for incorrect newlines and trailing whitespace. import fnmatch, os def check_file(fname, crlf=True, trail_white=True): for n, line in enumerate(open(fname, "rb")): 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, **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, **kwargs) break for pattern in ['.svn', '.hg']: if pattern in dirs: dirs.remove(pattern) check_files("coverage", ["*.py", "*.c"]) check_files("coverage/htmlfiles", ["*.html", "*.css", "*.js"]) check_files("test", ["*.py"]) check_files("test", ["*,cover"], trail_white=False) check_files("test/js", ["*.js", "*.html"]) check_file("setup.py") check_files("doc", ["*.rst"]) check_files(".", ["*.txt"])