git-svn-id: http://webrtc.googlecode.com/svn/trunk@8 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
100
tools/refactoring/integratefiles.py
Normal file
100
tools/refactoring/integratefiles.py
Normal file
@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import stringmanipulation
|
||||
import filemanagement
|
||||
import p4commands
|
||||
import sys
|
||||
|
||||
extensions = ['.h', '.cpp', '.cc', '.gyp']
|
||||
|
||||
ignore_these = ['list_no_stl.h','map_no_stl.h','constructor_magic.h']
|
||||
|
||||
exceptions = [
|
||||
['GIPSRWLock.h','rw_lock.h'],
|
||||
['GIPSCriticalsection.h','critical_section.h'],
|
||||
]
|
||||
|
||||
if((len(sys.argv) != 4) and (len(sys.argv) != 5)):
|
||||
print 'parameters are: parent directory extension new extension [--commit]'
|
||||
quit()
|
||||
|
||||
directory = sys.argv[1];
|
||||
if(not filemanagement.pathexist(directory)):
|
||||
print 'path ' + directory + ' does not exist'
|
||||
quit()
|
||||
|
||||
old_extension = sys.argv[2]
|
||||
if(not stringmanipulation.isextension(old_extension)):
|
||||
print old_extension + ' is not a valid extension'
|
||||
quit()
|
||||
|
||||
new_extension = sys.argv[3]
|
||||
if(not stringmanipulation.isextension(new_extension)):
|
||||
print new_extension + ' is not a valid extension'
|
||||
quit()
|
||||
|
||||
if((len(sys.argv) == 5) and (sys.argv[4] != '--commit')):
|
||||
print 'parameters are: parent directory extension new extension [--commit]'
|
||||
quit()
|
||||
|
||||
commit = False
|
||||
if(len(sys.argv) == 5):
|
||||
commit = True
|
||||
|
||||
files_to_integrate = filemanagement.listallfilesinfolder(directory,\
|
||||
old_extension)
|
||||
|
||||
if(commit):
|
||||
p4commands.checkoutallfiles()
|
||||
for index in range(len(files_to_integrate)):
|
||||
if(commit):
|
||||
print (100*index)/len(files_to_integrate)
|
||||
path_dir = files_to_integrate[index][0]
|
||||
filename = files_to_integrate[index][1]
|
||||
is_ignore = False
|
||||
for ignore_names in ignore_these:
|
||||
if(filename == ignore_names):
|
||||
is_ignore = True
|
||||
break
|
||||
if(is_ignore):
|
||||
continue
|
||||
|
||||
new_file_name = ''
|
||||
is_exception = False
|
||||
for exception_name,exception_name_new in exceptions:
|
||||
if(filename == exception_name):
|
||||
is_exception = True
|
||||
new_file_name = exception_name_new
|
||||
break
|
||||
|
||||
if(not is_exception):
|
||||
new_file_name = filename
|
||||
|
||||
new_file_name = stringmanipulation.removeallprefix(new_file_name,\
|
||||
'gips')
|
||||
new_file_name = stringmanipulation.removealloccurances(new_file_name,\
|
||||
'module')
|
||||
new_file_name = stringmanipulation.changeextension(new_file_name,\
|
||||
old_extension,\
|
||||
new_extension)
|
||||
new_file_name = stringmanipulation.fixabbreviations( new_file_name )
|
||||
new_file_name = stringmanipulation.lowercasewithunderscore(new_file_name)
|
||||
if(not commit):
|
||||
print 'File ' + filename + ' will be replaced with ' + new_file_name
|
||||
continue
|
||||
full_new_file_name = path_dir + new_file_name
|
||||
full_old_file_name = path_dir + filename
|
||||
if(full_new_file_name != full_old_file_name):
|
||||
p4commands.integratefile(full_old_file_name,full_new_file_name)
|
||||
else:
|
||||
print 'skipping ' + new_file_name + ' due to no change'
|
||||
for extension in extensions:
|
||||
print 'replacing ' + filename
|
||||
if (extension == ".gyp"):
|
||||
filemanagement.replacestringinallsubfolders(
|
||||
filename,new_file_name,extension)
|
||||
else:
|
||||
filemanagement.replacestringinallsubfolders(
|
||||
'\"' + filename + '\"', '\"' + new_file_name + '\"', extension)
|
||||
if(commit):
|
||||
p4commands.revertunchangedfiles()
|
Reference in New Issue
Block a user