mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-25 15:41:06 +00:00
37 lines
1006 B
Python
37 lines
1006 B
Python
|
#! /usr/bin/python
|
||
|
|
||
|
import os
|
||
|
|
||
|
from twisted.python import usage
|
||
|
|
||
|
class Options(usage.Options):
|
||
|
optFlags = [
|
||
|
("recursive", "r", "Search for .py files recursively"),
|
||
|
]
|
||
|
def parseArgs(self, *starting_points):
|
||
|
self.starting_points = starting_points
|
||
|
|
||
|
def check(fn):
|
||
|
f = open(fn, "r")
|
||
|
for i,line in enumerate(f.readlines()):
|
||
|
if line == "\n":
|
||
|
continue
|
||
|
if line[-1] == "\n":
|
||
|
line = line[:-1]
|
||
|
if line.rstrip() != line:
|
||
|
# the %s:%d:%d: lets emacs' compile-mode jump to those locations
|
||
|
print "%s:%d:%d: trailing whitespace" % (fn, i+1, len(line)+1)
|
||
|
f.close()
|
||
|
|
||
|
o = Options()
|
||
|
o.parseOptions()
|
||
|
if o['recursive']:
|
||
|
for starting_point in o.starting_points:
|
||
|
for root, dirs, files in os.walk(starting_point):
|
||
|
for fn in [f for f in files if f.endswith(".py")]:
|
||
|
fn = os.path.join(root, fn)
|
||
|
check(fn)
|
||
|
else:
|
||
|
for fn in o.starting_points:
|
||
|
check(fn)
|