blob: a19406f5e57bdcc3547bc27efc01b5c23ef8c883 [file] [log] [blame]
Michael Foordabd91d52010-03-20 18:09:14 +00001#!/usr/bin/env python
Benjamin Petersonded31c42009-03-30 15:04:16 +00002
3# Make a reST file compliant to our pre-commit hook.
4# Currently just remove trailing whitespace.
5
Georg Brandl17b9e272009-03-31 22:46:50 +00006
Benjamin Petersonded31c42009-03-30 15:04:16 +00007import sys, re, shutil
8
Victor Stinnerd5f2b542010-08-18 21:59:12 +00009ws_re = re.compile(br'\s+(\r?\n)$')
Benjamin Petersonded31c42009-03-30 15:04:16 +000010
11def main(argv=sys.argv):
12 rv = 0
13 for filename in argv[1:]:
14 try:
15 with open(filename, 'rb') as f:
16 lines = f.readlines()
Victor Stinnerd5f2b542010-08-18 21:59:12 +000017 new_lines = [ws_re.sub(br'\1', line) for line in lines]
Benjamin Petersonded31c42009-03-30 15:04:16 +000018 if new_lines != lines:
Georg Brandl17b9e272009-03-31 22:46:50 +000019 print('Fixing %s...' % filename)
Benjamin Petersonded31c42009-03-30 15:04:16 +000020 shutil.copyfile(filename, filename + '.bak')
21 with open(filename, 'wb') as f:
22 f.writelines(new_lines)
Georg Brandl17b9e272009-03-31 22:46:50 +000023 except Exception as err:
24 print('Cannot fix %s: %s' % (filename, err))
Benjamin Petersonded31c42009-03-30 15:04:16 +000025 rv = 1
26 return rv
27
28if __name__ == '__main__':
29 sys.exit(main())