PageRenderTime 11ms CodeModel.GetById 2ms app.highlight 5ms RepoModel.GetById 2ms app.codeStats 0ms

/Tools/scripts/reindent-rst.py

http://unladen-swallow.googlecode.com/
Python | 29 lines | 21 code | 5 blank | 3 comment | 6 complexity | 9680e8b66a37d4d03945ebd1146e973b MD5 | raw file
 1#!/usr/bin/env python
 2
 3# Make a reST file compliant to our pre-commit hook.
 4# Currently just remove trailing whitespace.
 5
 6from __future__ import with_statement
 7import sys, re, shutil
 8
 9ws_re = re.compile(r'\s+(\r?\n)$')
10
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()
17            new_lines = [ws_re.sub(r'\1', line) for line in lines]
18            if new_lines != lines:
19                print 'Fixing %s...' % filename
20            shutil.copyfile(filename, filename + '.bak')
21            with open(filename, 'wb') as f:
22                f.writelines(new_lines)
23        except Exception, err:
24            print 'Cannot fix %s: %s' % (filename, err)
25            rv = 1
26    return rv
27
28if __name__ == '__main__':
29    sys.exit(main())