mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2025-08-14 17:31:28 +08:00
31 lines
762 B
Python
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())
|