Python之打包一键自动化脚本(针对cmt设备)

## pack_cmt.py

## 用于一键自动化打包

import os,sys,re

def readFile(fname):
    with open(fname, 'r') as f:
        return f.read()

def writeFile(fname,content):
    with open(fname, 'w') as f:
        return f.write(content)

def calcTarget(flag,content):
    ret = re.findall(flag,content)
    if ret:
        src = ret[0][0]
        ver = ret[0][1]
        date = ret[0][2]
        tg = src.replace(".%s-" % (ver),".%s-" % (g_new_version))
        tg = tg.replace(date,g_new_date)
        return tg
    else:
        return ""


if len(sys.argv) < 3:
        print "[Usage]:: pack_cmt 20 20151124 [cmt]"
        print "eg. 20----------->Version NO."
        print "eg. 20151124----->Pack Date"
        print "eg. cmt is default directory name"
else:
        g_new_date = sys.argv[2]
        g_new_version = sys.argv[1]
        fname = os.path.join(os.getcwd(),"cmt/config.ini")
        content = readFile(fname)
        flag = "(CMT_V.\d+.\d+.(\w+)-[S|J]*-*(\d+))"
        target = calcTarget(flag,content)
        if target == "":
                print "cmt/config.ini format is invalid for version info."
                print "do pack failed!"
        else:
                content = re.sub(flag,target,content)
                writeFile(fname,content)
                print "modify config.ini OK::%s" % (target)
                gCmtDir = "cmt"
                if len(sys.argv) >= 4:
                        print "cmt directory:: %s " % (sys.argv[3])
                        gCmtDir = sys.argv[3]
                else:
                        print "cmt directory:: %s " % ("cmt")

                os.chdir(gCmtDir)
                print os.getcwd()
                os.system("./buildfw_382.sh")
                os.chdir("cmt")
                os.system("mv firmware.img cmt.img")


## 用法说明

pack_cmt.py 20 20151123 cmt

将cmt目录内的内容打包,并且发包日期设置为20151123、发包版本定位20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值