#!/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()