Files
SOMEIP/code_generator/backup/old/template.py

113 lines
4.0 KiB
Python
Raw Normal View History

2026-06-09 20:16:47 +08:00
# coding=utf-8
from datetime import datetime
from string import Template
from tkinter import Image, IntVar, StringVar,filedialog, messagebox
#以下是所有需获取的变量
runConfigFilename = StringVar("/etc/vsomeip")
appName = StringVar(None,"tcu")
serviceID = StringVar(None,"0x1000")
instanceID = StringVar(None,"0x2000")
use_tcp = IntVar()
offer_F_F_method = IntVar()
offer_R_R_method = IntVar()
offer_setter = IntVar()
offer_getter = IntVar()
offer_event = IntVar()
offer_field_notifier = IntVar()
F_F_method_ids = StringVar(None,"adasOFF")
R_R_method_ids = StringVar(None,"camStatus")
setter_ids = StringVar(None,"limitedSpeed")
getter_ids = StringVar(None,"distance")
eventgroup_ids = StringVar(None,"SignDetected")
event_ids = StringVar(None,"speedLimitSignDetected")
field_eventgroup_ids = StringVar(None,"SignDetected")
field_event_ids = StringVar(None,"speedLimitSignDetected")
def generate():
filePath = r'%s_cfg_ids.hpp' % appName.get().lower()
class_file = open(filePath,'w')
lines = []
#模版文件
template_file = open(r'sample_cfg_ids.hpp.template','r')
tmpl = Template(template_file.read())
#模版替换
lines.append(tmpl.substitute(
GENE_DATE = datetime.now().strftime('%Y-%m-%d %H:%M:%S'), #代码生成日期设置
RUN_CONFIG_FILENAME = runConfigFilename.get(),
APP_NAME = appName.get().upper(),
#MODULE_NAME = appName.get().upper(),
SERVICE_ID = serviceID.get(),
INSTANCE_ID = instanceID.get(),
USE_TCP = use_tcp.get(),
OFFER_F_F_METHOD = offer_F_F_method.get(),
OFFER_R_R_METHOD = offer_R_R_method.get(),
OFFER_SETTER = offer_setter.get(),
OFFER_GETTER = offer_getter.get(),
OFFER_EVENT = offer_event.get(),
OFFER_FIELD_EVENT = offer_field_notifier.get(),
FF_METHOD_NAME = F_F_method_ids.get().upper(),
RR_METHOD_NAME = R_R_method_ids.get().upper(),
GET_METHOD_NAME = getter_ids.get().upper(),
SET_METHOD_NAME = setter_ids.get().upper(),
EVENTGROUP_NAME = eventgroup_ids.get().upper(),
EVENT_NAME = event_ids.get().upper(),
FIELD_EVENTGROUP_NAME = field_eventgroup_ids.get().upper(),
FIELD_EVENT_NAME = field_event_ids.get().upper(),
))
# 0.将生成的代码写入文件
class_file.writelines(lines)
class_file.close()
print('generate "%s" success. ~_~' % filePath)
messagebox.showinfo("tips",'Generate "%s" success.' % filePath)
def open_file():
try:
global file
filepath = filedialog.askopenfilename() # 打开文件,返回该文件的完整路径
runConfigFilename.set(filepath)
file = Image.open(runConfigFilename.get())
except Exception as e:
print("您没有选择任何文件",e)
def entryState():
None
# if offer_F_F_method.get():
# idEntry1.grid(row=5,column=1)
# else:
# idEntry1.grid_forget() # the same as grid_remove()
# if offer_R_R_method.get():
# idEntry2.grid(row=6,column=1)
# else:
# idEntry2.grid_forget()
# if offer_setter.get():
# idEntry3.grid(row=7,column=1)
# else:
# idEntry3.grid_forget()
# if offer_getter.get():
# idEntry4.grid(row=8,column=1)
# else:
# idEntry4.grid_forget()
# if offer_event.get():
# idEntry5.grid(sticky="w",row=9,column=1)
# idEntry6.grid(sticky="e",row=9,column=1)
# else:
# idEntry5.grid_forget()
# idEntry6.grid_forget()
# if offer_field_notifier.get():
# idEntry7.grid(sticky="w",row=10,column=1)
# idEntry8.grid(sticky="e",row=10,column=1)
# else:
# idEntry7.grid_forget()
# idEntry8.grid_forget()
def modifyContent():
print("modifyContent")