aboutsummaryrefslogtreecommitdiff
path: root/tools/refactoring/trim.py
blob: 5539f5fef7f76ef51463c35ebce17d5d2239e5d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python

import sys
import fileinput

# Defaults
TABSIZE = 4

usage = """
Replaces all TAB characters with %(TABSIZE)d space characters.
In addition, all trailing space characters are removed.
usage: trim file ...
file ... : files are changed in place without taking any backup.
""" % vars()

def main():

    if len(sys.argv) == 1:
        sys.stderr.write(usage)
        sys.exit(2)

    # Iterate over the lines of all files listed in sys.argv[1:]
    for line in fileinput.input(sys.argv[1:], inplace=True):
        line = line.replace('\t',' '*TABSIZE);    # replace TABs
        line = line.rstrip(None)  # remove trailing whitespaces
        print line                # modify the file

if __name__ == '__main__':
    main()