zoukankan      html  css  js  c++  java
  • Python VIL Realse

    #!/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_IDs+(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_NAMEs+"(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_VERSIONs+"(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 "
    ",list,"
    "
        
        
    
    def main():
        fun_genRelease()
        
    if __name__ == '__main__':
        main()
    
    
    
    
    
        
        
    
    
    
        
        
    
    
        
  • 相关阅读:
    SQL逻辑查询处理阶段
    将json字符串转换为json兑现
    JSTL核心标签库
    eclipse用4个空格代替Tab 每行80字符限制提示线显示空格
    MyEclipse8.6 性能优化
    jsp/servlet总结复习
    SQLServer之MERGE INTO
    as3效率提升
    让默认TextField更清晰地显示中文
    as3垃圾回收机制
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/9278478.html
Copyright © 2011-2022 走看看