| Index: tools/refactoring/addfileheader.py
|
| diff --git a/tools/refactoring/addfileheader.py b/tools/refactoring/addfileheader.py
|
| deleted file mode 100644
|
| index 01c8a8b4e184e2132185d032d25c55174fe3f639..0000000000000000000000000000000000000000
|
| --- a/tools/refactoring/addfileheader.py
|
| +++ /dev/null
|
| @@ -1,163 +0,0 @@
|
| -#!/usr/bin/env python
|
| -
|
| -import stringmanipulation
|
| -import filemanagement
|
| -import sys
|
| -
|
| -extensions = ['.h','.cc','.c','.cpp']
|
| -
|
| -ignore_these = ['my_ignore_header.h']
|
| -
|
| -if((len(sys.argv) != 2) and (len(sys.argv) != 3)):
|
| - print 'parameters are: directory [--commit]'
|
| - quit()
|
| -
|
| -directory = sys.argv[1];
|
| -if(not filemanagement.pathexist(directory)):
|
| - print 'path ' + directory + ' does not exist'
|
| - quit()
|
| -
|
| -if((len(sys.argv) == 3) and (sys.argv[2] != '--commit')):
|
| - print 'parameters are: parent directory extension new extension [--commit]'
|
| - quit()
|
| -
|
| -commit = False
|
| -if(len(sys.argv) == 3):
|
| - commit = True
|
| -
|
| -files_to_fix = []
|
| -for extension in extensions:
|
| - files_to_fix.extend(filemanagement.listallfilesinfolder(directory,\
|
| - extension))
|
| -
|
| -# Just steal the header from the template
|
| -def fileheaderasstring():
|
| - template_file_name = 'license_template.txt'
|
| - if (not filemanagement.fileexist(template_file_name)):
|
| - print 'File ' + template_file_name + ' not found!'
|
| - quit()
|
| - template_file = open(template_file_name,'r')
|
| - return_string = ''
|
| - for line in template_file:
|
| - return_string += line
|
| - return return_string
|
| -
|
| -# Just steal the header from the template
|
| -def fileheaderasarray():
|
| - template_file_name = 'license_template.txt'
|
| - if (not filemanagement.fileexist(template_file_name)):
|
| - print 'File ' + template_file_name + ' not found!'
|
| - quit()
|
| - template_file = open(template_file_name,'r')
|
| - return_value = []
|
| - for line in template_file:
|
| - return_value.append(line)
|
| - return return_value
|
| -
|
| -
|
| -def findheader(path, file_name):
|
| - full_file_name = path + file_name
|
| - if (not filemanagement.fileexist(full_file_name)):
|
| - print 'File ' + file_name + ' not found!'
|
| - print 'Unexpected error!'
|
| - quit()
|
| - file_handle = open(full_file_name)
|
| - template_file_content = fileheaderasarray()
|
| - compare_content = []
|
| - # load the same number of lines from file as the fileheader
|
| - for index in range(len(template_file_content)):
|
| - line = file_handle.readline()
|
| - if (line == ''):
|
| - return False
|
| - compare_content.append(line)
|
| -
|
| - while (True):
|
| - found = True
|
| - for index in range(len(template_file_content)):
|
| - line1 = template_file_content[index]
|
| - line2 = compare_content[index]
|
| - if(line1 != line2):
|
| - found = False
|
| - break
|
| - if (found):
|
| - return True
|
| - compare_content = compare_content[1:len(compare_content)]
|
| - line = file_handle.readline()
|
| - if (line == ''):
|
| - return False
|
| - compare_content.append(line)
|
| - return False
|
| -
|
| -# Used to store temporary result before flushing to real file when finished
|
| -def temporaryfilename(old_file_name):
|
| - return old_file_name + '.deleteme'
|
| -
|
| -def updatefile(path, old_file_name):
|
| - full_old_file_name = path + old_file_name
|
| - if (not filemanagement.fileexist(full_old_file_name)):
|
| - print 'File ' + full_old_file_name + ' is not found.'
|
| - print 'Should not happen! Ever!'
|
| - quit()
|
| -
|
| - full_temporary_file_name = path + temporaryfilename(old_file_name)
|
| -
|
| - # Make sure that the files are closed by putting them out of scope
|
| - old_file = open(full_old_file_name,'r')
|
| - temporary_file = open(full_temporary_file_name,'w')
|
| -
|
| - temporary_file.writelines(fileheaderasstring())
|
| - remove_whitespaces = True
|
| - for line in old_file:
|
| - if (remove_whitespaces and (len(line.split()) == 0)):
|
| - continue
|
| - else:
|
| - remove_whitespaces = False
|
| - temporary_file.writelines(line)
|
| - old_file.close()
|
| - temporary_file.close()
|
| -
|
| - filemanagement.copyfile(full_old_file_name,full_temporary_file_name)
|
| - filemanagement.deletefile(full_temporary_file_name)
|
| -
|
| -
|
| -failed_files = []
|
| -skipped_files = []
|
| -for index in range(len(files_to_fix)):
|
| - if(commit):
|
| - print (100*index)/len(files_to_fix)
|
| - path_dir = files_to_fix[index][0]
|
| - filename = files_to_fix[index][1]
|
| - is_ignore = False
|
| - for ignore_names in ignore_these:
|
| - if(filename == ignore_names):
|
| - is_ignore = True
|
| - break
|
| - if(is_ignore):
|
| - continue
|
| -
|
| -# Let the word copyright be our sanity, i.e. make sure there is only one
|
| -# copy right occurance or report that there will be no change
|
| - if(filemanagement.findstringinfile(path_dir,filename,'Copyright') or
|
| - filemanagement.findstringinfile(path_dir,filename,'copyright') or
|
| - filemanagement.findstringinfile(path_dir,filename,'COPYRIGHT')):
|
| - if(findheader(path_dir,filename)):
|
| - skipped_files.append(path_dir + filename)
|
| - else:
|
| - failed_files.append(path_dir + filename)
|
| - continue
|
| -
|
| - if (not commit):
|
| - print 'File ' + path_dir + filename + ' will be updated'
|
| - continue
|
| - updatefile(path_dir,filename)
|
| -
|
| -tense = 'will be'
|
| -if (commit):
|
| - tense = 'has been'
|
| -if (len(skipped_files) > 0):
|
| - print str(len(skipped_files)) + ' file(s) ' + tense + ' skipped since they already have the correct header'
|
| -
|
| -if (len(failed_files) > 0):
|
| - print 'Following files seem to have an invalid file header:'
|
| -for line in failed_files:
|
| - print line
|
|
|