blob: 0642ac02ba956b027d31545bf9baf8f517b6572e [file] [log] [blame]
from __future__ import print_function
import argparse
import fileinput
import sys
from pre_commit_hooks.util import cmd_output
def _fix_file(filename):
for line in fileinput.input([filename], inplace=True):
print(line.rstrip())
def fix_trailing_whitespace(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*', help='Filenames to fix')
args = parser.parse_args(argv)
bad_whitespace_files = cmd_output(
'grep', '-l', '[[:space:]]$', *args.filenames, retcode=None
).strip().splitlines()
if bad_whitespace_files:
for bad_whitespace_file in bad_whitespace_files:
print('Fixing {0}'.format(bad_whitespace_file))
_fix_file(bad_whitespace_file)
return 1
else:
return 0
if __name__ == '__main__':
sys.exit(fix_trailing_whitespace())