55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import re
 | |
| import os
 | |
| import io
 | |
| 
 | |
| copyright = """// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. All rights reserved.
 | |
| // Use of this source code is governed by a MIT license that can
 | |
| // be found in the LICENSE file.
 | |
| 
 | |
| """
 | |
| 
 | |
| exclude_dirs = [".git", "_docs"]
 | |
| exclude_files = []
 | |
| include_dirs = [".", "debug", "extra", "test", "_example"]
 | |
| 
 | |
| 
 | |
| def is_target(fpath):
 | |
|     if os.path.splitext(fpath)[-1] == ".go":
 | |
|         return True
 | |
|     return False
 | |
| 
 | |
| 
 | |
| def update_copyright(fpath):
 | |
|     print("processing " + fpath)
 | |
|     f = io.open(fpath, 'r', encoding='utf-8')
 | |
|     fstr = f.read()
 | |
|     f.close()
 | |
| 
 | |
|     # remove old
 | |
|     m = re.search('^// Copyright .+?\r?\n\r?\n', fstr, re.MULTILINE|re.DOTALL)
 | |
|     if m:
 | |
|         fstr = fstr[m.end():]
 | |
| 
 | |
|     # add new
 | |
|     fstr = copyright + fstr
 | |
|     f = io.open(fpath, 'w',encoding='utf-8')
 | |
|     f.write(fstr)
 | |
|     f.close()
 | |
| 
 | |
| 
 | |
| def main():
 | |
|     for d in include_dirs:
 | |
|         files = [
 | |
|             os.path.join(d, f) for f in os.listdir(d)
 | |
|             if os.path.isfile(os.path.join(d, f))
 | |
|         ]
 | |
|         for f in files:
 | |
|             if is_target(f):
 | |
|                 update_copyright(f)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     main()
 |