first commit
This commit is contained in:
67
script/pro_svn_version.py
Normal file
67
script/pro_svn_version.py
Normal file
@@ -0,0 +1,67 @@
|
||||
import os
|
||||
import re,subprocess
|
||||
from os.path import exists
|
||||
import sys
|
||||
from subprocess import check_output
|
||||
|
||||
# Qt PRO 파일에서 SVN 버전 정보 확인
|
||||
def get_pro_svn_version(path):
|
||||
# RM_MODEL_SVN_VERSION=812
|
||||
with open(path,'r', encoding='utf8') as f:
|
||||
for line in f:
|
||||
res = re.search('SVN_VERSION=[0-9]{1,4}',line)
|
||||
if res:
|
||||
f.close()
|
||||
return res.group().replace('SVN_VERSION=','').strip()
|
||||
f.close()
|
||||
return None
|
||||
|
||||
# EVB 파일에서 이전 버전을 확인하고 신규로 교체하여 임시 EVB 파일 생성
|
||||
def replace_evb_version(path,version,dest):
|
||||
# ZDR09_811 ->
|
||||
with open(path,'r', encoding='utf8') as f:
|
||||
text = f.read()
|
||||
# ZDR09_811
|
||||
#old_version_object = re.search('ZDR[0-9]{2,3}_[0-9]{1,4}',text)
|
||||
# BYD01_917
|
||||
#old_version_object = re.search('CB_R_[0-9]{1,4}|ZDR[0-9]{2,3}_[0-9]{1,4}|ELUT[0-9]{2,3}_[0-9]{1,4}',text)
|
||||
old_version_object = re.search('KZR[0-9]{2,3}_[0-9]{1,4}|CB_R_[0-9]{1,4}|ZDR[0-9]{2,3}EN_[0-9]{1,4}|ZDR[0-9]{2,3}_[0-9]{1,4}|ELUT[0-9]{2,3}_[0-9]{1,4}|BYD[0-9]{2,3}_[0-9]{1,4}|MBJ_[0-9]{1,4}|ADR_S10_[0-9]{1,4}',text)
|
||||
if old_version_object:
|
||||
old_version = old_version_object.group()
|
||||
new_version_object = re.search('CB_R|ZDR[0-9]{2,3}EN|ZDR[0-9]{2,3}|KZR[0-9]{2,3}|ELUT[0-9]{2,3}|BYD[0-9]{2,3}|MBJ|ADR_S10',old_version)
|
||||
new_version = new_version_object.group() + '_' + version
|
||||
#print('old_version:',old_version,'new_version:',new_version)
|
||||
#print(new_version)
|
||||
|
||||
text = text.replace(old_version,new_version)
|
||||
|
||||
if exists(dest):
|
||||
os.remove(dest)
|
||||
with open(dest,'w', encoding='utf8') as fw:
|
||||
fw.write(text)
|
||||
fw.close()
|
||||
f.close
|
||||
return True
|
||||
f.close()
|
||||
return False
|
||||
|
||||
# SVN 커밋
|
||||
def svn_commit_if_needed(message):
|
||||
root = 'C:\\home\\roadmovie'
|
||||
out = check_output(['svn', 'status', root])
|
||||
out = out.strip().decode('utf-8')
|
||||
lines = out.splitlines()
|
||||
if any((line.startswith('M') or line.startswith('A')) for line in lines):
|
||||
command_string = f'svn commit {root} -m"{message}"'
|
||||
subprocess.call(command_string, shell=True)
|
||||
#print(command_string)
|
||||
#print('COMMIT')
|
||||
else:
|
||||
print('NO UPDATES')
|
||||
|
||||
if __name__ == "__main__":
|
||||
svn_commit_if_needed('test')
|
||||
#svn_version = get_pro_svn_version('C:\\home\\roadmovie\\project\\roadmovie\\roadmovie.pro')
|
||||
#if svn_version:
|
||||
# replace_evb_version('C:\\home\\roadmovie\\project\\install_script\\ZDR09.evb',svn_version,'C:\\home\\roadmovie\\project\\install_script\\test.evb')
|
||||
|
||||
Reference in New Issue
Block a user