1*f9a78e0eSmrg#! /usr/bin/python2 2*f9a78e0eSmrgimport os.path 3*f9a78e0eSmrgimport sys 4*f9a78e0eSmrgimport shlex 5*f9a78e0eSmrgimport re 6*f9a78e0eSmrg 7*f9a78e0eSmrgfrom headerutils import * 8*f9a78e0eSmrg 9*f9a78e0eSmrg 10*f9a78e0eSmrgfiles = list() 11*f9a78e0eSmrgreplace = list() 12*f9a78e0eSmrgfind = "" 13*f9a78e0eSmrgusage = False 14*f9a78e0eSmrg 15*f9a78e0eSmrgfor x in sys.argv[1:]: 16*f9a78e0eSmrg if x[0:2] == "-h": 17*f9a78e0eSmrg usage = True 18*f9a78e0eSmrg elif x[0:2] == "-f" and find == "": 19*f9a78e0eSmrg find = x[2:] 20*f9a78e0eSmrg elif x[0:2] == "-r": 21*f9a78e0eSmrg replace.append (x[2:]) 22*f9a78e0eSmrg elif x[0:1] == "-": 23*f9a78e0eSmrg print "Error: unrecognized option " + x 24*f9a78e0eSmrg usage = True 25*f9a78e0eSmrg else: 26*f9a78e0eSmrg files.append (x) 27*f9a78e0eSmrg 28*f9a78e0eSmrgif find == "": 29*f9a78e0eSmrg usage = True 30*f9a78e0eSmrg 31*f9a78e0eSmrgif usage: 32*f9a78e0eSmrg print "replace-header -fheader -rheader [-rheader] file1 [filen.]" 33*f9a78e0eSmrg sys.exit(0) 34*f9a78e0eSmrg 35*f9a78e0eSmrgstring = "" 36*f9a78e0eSmrgfor x in replace: 37*f9a78e0eSmrg string = string + " '"+x+"'" 38*f9a78e0eSmrgprint "Replacing '"+find+"' with"+string 39*f9a78e0eSmrg 40*f9a78e0eSmrgfor x in files: 41*f9a78e0eSmrg src = readwholefile (x) 42*f9a78e0eSmrg src = find_replace_include (find, replace, src) 43*f9a78e0eSmrg if (len(src) > 0): 44*f9a78e0eSmrg print x + ": Changed" 45*f9a78e0eSmrg out = open(x, "w") 46*f9a78e0eSmrg for line in src: 47*f9a78e0eSmrg out.write (line); 48*f9a78e0eSmrg out.close () 49*f9a78e0eSmrg else: 50*f9a78e0eSmrg print x 51*f9a78e0eSmrg 52*f9a78e0eSmrg 53*f9a78e0eSmrg 54