| from __future__ import print_function |
| from plumbum import local |
| from pre_commit_hooks.util import entry |
| 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 = local['grep'][ |
| ('-l', '[[:space:]]$') + tuple(args.filenames) |
| ](retcode=None).strip().splitlines() |
| for bad_whitespace_file in bad_whitespace_files: |
| print('Fixing {0}'.format(bad_whitespace_file)) |
| local['sed']['-i', '-e', 's/[[:space:]]*$//', bad_whitespace_file]() |
| if __name__ == '__main__': |
| sys.exit(fix_trailing_whitespace()) |