101 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/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()
 | 
