| 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()) |
| for bad_whitespace_file in bad_whitespace_files: |
| print 'Fixing {0}'.format(bad_whitespace_file) |
| local['sed']['-i', '-e', 's/[[:space:]]*$//', bad_whitespace_file]() |
| fix_trailing_whitespace(sys.argv[1:]) |
| if __name__ == '__main__': |