#!/usr/bin/env python3 from __future__ import print_function import os from scriptCommon import catchPath def isSourceFile( path ): return path.endswith( ".cpp" ) or path.endswith( ".h" ) or path.endswith( ".hpp" ) def fixAllFilesInDir( dir ): changedFiles = 0 for f in os.listdir( dir ): path = os.path.join( dir,f ) if os.path.isfile( path ): if isSourceFile( path ): if fixFile( path ): changedFiles += 1 else: fixAllFilesInDir( path ) return changedFiles def fixFile( path ): f = open( path, 'r' ) lines = [] changed = 0 for line in f: trimmed = line.rstrip() + "\n" trimmed = trimmed.replace('\t', ' ') if trimmed != line: changed = changed +1 lines.append( trimmed ) f.close() if changed > 0: global changedFiles changedFiles = changedFiles + 1 print( path + ":" ) print( " - fixed " + str(changed) + " line(s)" ) altPath = path + ".backup" os.rename( path, altPath ) f2 = open( path, 'w' ) for line in lines: f2.write( line ) f2.close() os.remove( altPath ) return True return False changedFiles = fixAllFilesInDir(catchPath) if changedFiles > 0: print( "Fixed " + str(changedFiles) + " file(s)" ) else: print( "No trailing whitespace found" )