52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
from PySide6.QtWidgets import QWidget, QApplication, QFileDialog
|
|
from Ui_单元挂钩 import Ui_Form
|
|
from database_tools_2 import *
|
|
|
|
class MyWindow(QWidget,Ui_Form):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.setupUi(self)
|
|
self.bind()
|
|
def bind(self):
|
|
self.radioButton_phase1.setChecked(True)
|
|
self.pushButton_exec.clicked.connect(self.exec)
|
|
|
|
def exec(self):
|
|
# pro_dict = load_dict("../题库0.3/Problems.json")
|
|
allids = getAllIDsExp()
|
|
all_same_list = generate_same_list()
|
|
all_related_list = generate_related_list()
|
|
if self.radioButton_phase1.isChecked():
|
|
idexp = self.lineEdit_ids.text()
|
|
if idexp.strip() == "":
|
|
idlist = unUnitted(allids)
|
|
else:
|
|
idlist = generate_number_set(idexp)
|
|
latex_body,tagrec = AutoAssignTagNotoLaTeX(idlist,all_same_list,all_related_list)
|
|
latex_raw = ReadTextFile("模板文件/讲义模板.txt")
|
|
latex_data = StringSubstitute(r"<<[\s\S]*?待替换[\s\S]*?>>",latex_raw,("待检查单元",latex_body))
|
|
SaveTextFile(tagrec,"临时文件/单元对应.txt")
|
|
SaveTextFile(latex_data,"临时文件/待检查单元.tex")
|
|
if XeLaTeXCompile("临时文件","待检查单元.tex") == True:
|
|
print("处理成功.")
|
|
os.system("code 临时文件/单元对应.txt 临时文件/待检查单元.pdf")
|
|
else:
|
|
print("处理失败.")
|
|
elif self.radioButton_phase2.isChecked():
|
|
output = UnitRectoMetadataText(ReadTextFile("临时文件/单元对应.txt"))
|
|
SaveTextFile(output,"文本文件/metadata.txt")
|
|
os.system("code 文本文件/metadata.txt")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QApplication([])
|
|
windows = MyWindow()
|
|
windows.show()
|
|
app.exec()
|
|
|