## 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