qiuri2008

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

#!/usr/bin/python
#-*- coding:utf-8 –*-

import os
import sys
import re
import shutil
import xlrd
import xlwt
from xlutils.copy import copy

'''
提取相关RELEASE信息,追加“SW Release Note.xls”
运行命令 ./gen_release.py "Modified reason"
'''

def fun_genRelease():
    list = []
    curLine = ""
    book = xlrd.open_workbook(r'./mergedir/SW Release Note.xls',formatting_info=True)
    sheet = book.sheet_by_index(0)
    
    newBook = copy(book)
    newSheet = newBook.get_sheet(0)
    list.append(sheet.nrows-1)
    with open("./drivers/include/project.h", "r") as mFile:
        proData = mFile.read()
        
    with open("./aps/include/common_patch.h","r") as comFile:
        comData = comFile.read()
    modeId = re.search(".*DEFAULT_MODE_ID\s+(\d+).*",comData).group(1)
        
    pat = re.compile(".*?(\d+).*\{.*\"((\d+)_.*)\",\s+&\w+\[\d+\],\s+/\*(.*?)\*/\s+&\w+\[\d+\],\s+/\*(.*)\*/.*")
    
    list.append(re.search(".*CONFIG_APP_FOLDER_NAME.*\"(.*)\"", proData).group(1))
    board = re.search(".*CONFIG_MODEL_BOARD_NAME\s+\"(\w+)\"",proData).group(1)
    
    with open("./aps/customer/radisson/%s/adaptable/model_data.c" %board,"r") as modeFile:
        modeList = modeFile.readlines()
        
    for line in modeList:
        if pat.search(line) and pat.search(line).group(1) == modeId:
            curLine = line
            break
        
    list.append(pat.search(curLine).group(2))
    list.append(pat.search(curLine).group(3))
    list.append(pat.search(curLine).group(4))
    list.append(pat.search(curLine).group(5))
    list.append("LL" if "LL" in pat.search(curLine).group(2) else "NON LL")
    list.append("" if len(sys.argv) ==1 else sys.argv[1])
    
    with open("./aps/include/timestamp.h","r") as verFile:
        verData = verFile.read()
        
    list.append("%s%s" %(board,re.search(".*TIME_VERSION\s+\"(\w+)\".*",verData).group(1)))
    list.append("")
    list.append("")
    list.append("bjornLee")
    
    #写EXCEL
    #for col in range(sheet.ncols):
    col = 0
    for cell in list:
        newSheet.write(sheet.nrows,col,cell)
        col = col+1
        #newSheet.write(sheet.nrows,col,"test")
    newBook.save(r'./mergedir/SW Release Note.xls')
    print "\n",list,"\n"
    
    

def main():
    fun_genRelease()
    
if __name__ == '__main__':
    main()





    
    



    
    


    

 

posted on 2018-07-07 21:23  江召伟  阅读(184)  评论(0编辑  收藏  举报