#!/usr/bin/python3 #coding:utf-8 # # Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. # # SPDX-License-Identifier: MIT # import os import sys import string import re def add_Header_01(filepath, filename): if os.path.exists(filepath) : head_info = string.Template( '''/* * Copyright (c) 2022 Amlogic, Inc. All rights reserved. * * This source code is subject to the terms and conditions defined in the * file 'LICENSE' which is part of this source code package. * */\n ''') head = head_info.substitute(vars()) f = open(filepath, "r", errors='ignore', newline='') content = f.read() f_w = open(filepath, "w", errors='ignore', newline='') f_w.seek(0,0) if(content.find('\r\n') > 0): head_new = re.sub("\n", "\r\n", head) f_w.write(head_new) else: f_w.write(head) f_w.write(content) f_w.close def add_Header_02(filepath, filename): if os.path.exists(filepath) : head_info = string.Template( '''# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. # SPDX-License-Identifier: MIT\n ''') head = head_info.substitute(vars()) f = open(filepath, "r", errors='ignore', newline='') content = f.read() f_w = open(filepath, "w", errors='ignore', newline='') f_w.seek(0,0) if(content.find('\r\n') > 0): head_new = re.sub("\n", "\r\n", head) f_w.write(head_new) else: f_w.write(head) f_w.write(content) f_w.close def add_Header_03(filepath, filename): if os.path.exists(filepath) : head_info = string.Template( '''# # Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. # # SPDX-License-Identifier: MIT #\n ''') head = head_info.substitute(vars()) f = open(filepath, "r", errors='ignore', newline='') content = f.read() f_w = open(filepath, "w", errors='ignore', newline='') f_w.seek(0,0) if(content.find('\r\n') > 0): head_new = re.sub("\n", "\r\n", head) f_w.write(head_new) else: f_w.write(head) f_w.write(content) f_w.close def del_C_Header(filepath): if os.path.exists(filepath) : file = open(filepath, "r", errors='ignore', newline='') lines = file.readlines() beforeTag = True writer = open(filepath, 'w', errors='ignore', newline='') for line in lines : if '#include' in line: beforeTag = False if beforeTag == False: writer.write(line) def del_H_Header(filepath): if os.path.exists(filepath): file = open(filepath, "r", errors='ignore', newline='') lines = file.readlines() beforeTag = True writer = open(filepath, 'w', errors='ignore', newline='') for line in lines : if '#ifndef ' in line or '#include ' in line or '#define ' in line or '#ifdef' in line: beforeTag = False if beforeTag == False: writer.write(line) if __name__ == '__main__': path=sys.argv[1] list = os.walk(path, True) for dir in list: files = dir[2] for file in files: filepath = os.path.join(dir[0], file) print(filepath) if 'Kconfig' in file or 'CMakeList' in file: add_Header_02(filepath, file) elif 'defconfig' in file or 'prj.conf' in file: add_Header_03(filepath, file) elif '.h' in file or '.ld' in file: del_H_Header(filepath) add_Header_01(filepath, file) elif '.c' in file: del_C_Header(filepath) add_Header_01(filepath, file) print( 'Complete!!!!!!!!!!!!!!!')