Files
pre-commit-hooks/pre_commit_hooks/trailing_whitespace_fixer.py
2014-03-14 15:18:29 -07:00

31 lines
762 B
Python

import argparse
import sys
from plumbum import local
def fix_trailing_whitespace(argv):
parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*', help='Filenames to fix')
args = parser.parse_args(argv)
bad_whitespace_files = filter(bool, local['grep'][
('-l', '[[:space:]]$') + tuple(args.filenames)
](retcode=None).splitlines())
if bad_whitespace_files:
for bad_whitespace_file in bad_whitespace_files:
print 'Fixing {0}'.format(bad_whitespace_file)
local['sed']['-i', '-e', 's/[[:space:]]*$//', bad_whitespace_file]()
return 1
else:
return 0
def entry():
fix_trailing_whitespace(sys.argv[1:])
if __name__ == '__main__':
sys.exit(entry())