Home | History | Annotate | Download | only in scripts
      1 # -*- coding: utf-8 -*-
      2 
      3 import os
      4 import re
      5 import sys
      6 import time
      7 import fnmatch
      8 
      9 SRC_FILE_PATTERNS		= [ "*.c", "*.h", "*.cpp", "*.hpp", "*.inl", "*.java", "*.aidl", "*.py" ]
     10 COPYRIGHT_PATTERN		= r'Copyright \(C\) ([0-9]{4})(-[0-9]{4})? drawElements Ltd.'
     11 COPYRIGHT_REPLACEMENT	= r'Copyright (C) \1-' + time.strftime("%Y") + r' drawElements Ltd.'
     12 
     13 def isSrcFile (filename):
     14 	for pattern in SRC_FILE_PATTERNS:
     15 		if fnmatch.fnmatch(filename, pattern):
     16 			return True
     17 	return False
     18 
     19 def findSrcFiles (dir):
     20 	srcFiles = []
     21 	for root, dirs, files in os.walk(dir):
     22 		for file in files:
     23 			if isSrcFile(file):
     24 				srcFiles.append(os.path.join(root, file))
     25 	return srcFiles
     26 
     27 def processFile (filename):
     28 	print filename
     29 	file = open(filename, "rb")
     30 	data = file.read()
     31 	file.close()
     32 	data = re.sub(COPYRIGHT_PATTERN, COPYRIGHT_REPLACEMENT, data)
     33 	file = open(filename, "wb")
     34 	file.write(data)
     35 	file.close()
     36 
     37 def processDir (dir):
     38 	srcFiles = findSrcFiles(dir)
     39 	for file in srcFiles:
     40 		processFile(file)
     41 
     42 if __name__ == "__main__":
     43 	if len(sys.argv) < 2:
     44 		print sys.argv[0] + ": [directory]"
     45 	else:
     46 		processDir(sys.argv[1])
     47