| 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 = filter(bool, local['grep'][ |
| ('-l', '[[:space:]]$') + tuple(args.filenames) |
| ](retcode=None).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()) |