webrtc/tools/refactoring/trimall.py

60 lines
1.5 KiB
Python

#!/usr/bin/env python
import sys
import fileinput
import filemanagement
import p4commands
# Defaults
TABSIZE = 4
extensions = ['.h','.cc','.c','.cpp']
ignore_these = ['my_ignore_header.h']
usage = """
Replaces all TAB characters with %(TABSIZE)d space characters.
In addition, all trailing space characters are removed.
usage: trim directory
""" % vars()
if((len(sys.argv) != 2) and (len(sys.argv) != 3)):
sys.stderr.write(usage)
sys.exit(2)
directory = sys.argv[1];
if(not filemanagement.pathexist(directory)):
sys.stderr.write(usage)
sys.exit(2)
if((len(sys.argv) == 3) and (sys.argv[2] != '--commit')):
sys.stderr.write(usage)
sys.exit(2)
commit = False
if(len(sys.argv) == 3):
commit = True
files_to_fix = []
for extension in extensions:
files_to_fix.extend(filemanagement.listallfilesinfolder(directory,\
extension))
def main():
if (commit):
p4commands.checkoutallfiles()
for path,file_name in files_to_fix:
full_file_name = path + file_name
if (not commit):
print full_file_name + ' will be edited'
continue
for line in fileinput.input(full_file_name, inplace=True):
line = line.replace('\t',' '*TABSIZE); # replace TABs
line = line.rstrip(None) # remove trailing whitespaces
print line # modify the file
if (commit):
p4commands.revertunchangedfiles()
if __name__ == '__main__':
main()