diff --git a/工具v2/单元挂钩.py b/工具v2/单元挂钩.py index 4f371573..7f9050cc 100644 --- a/工具v2/单元挂钩.py +++ b/工具v2/单元挂钩.py @@ -1,27 +1,49 @@ +from PySide6.QtWidgets import QWidget, QApplication, QFileDialog +from Ui_单元挂钩 import Ui_Form from database_tools import * -pro_dict = load_dict("../题库0.3/problems.json") -configjson = load_dict("文本文件/config.json")["单元挂钩.py"] +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") -if str(configjson["阶段"]).strip() == "1": - idexp = configjson["题号表达式"] - if idexp.strip() == "": - idlist = unUnitted(pro_dict) - else: - idlist = generate_number_set(idexp) - latex_body,tagrec = AutoAssignTagNotoLaTeX(idlist,pro_dict) - 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 str(configjson["阶段"]).strip() == "2": - output = UnitRectoMetadataText(ReadTextFile("临时文件/单元对应.txt")) - SaveTextFile(output,"文本文件/metadata.txt") - os.system("code 文本文件/metadata.txt") + if self.radioButton_phase1.isChecked(): + idexp = self.lineEdit_ids.text() + if idexp.strip() == "": + idlist = unUnitted(pro_dict) + else: + idlist = generate_number_set(idexp) + latex_body,tagrec = AutoAssignTagNotoLaTeX(idlist,pro_dict) + 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() + diff --git a/工具v2/单元挂钩.ui b/工具v2/单元挂钩.ui new file mode 100644 index 00000000..f459db04 --- /dev/null +++ b/工具v2/单元挂钩.ui @@ -0,0 +1,89 @@ + + + Form + + + + 0 + 0 + 400 + 131 + + + + 单元挂钩 + + + + + 20 + 40 + 54 + 16 + + + + 题号 + + + + + + 20 + 90 + 191 + 20 + + + + 收录单元信息至metadata阶段 + + + + + + 20 + 60 + 271 + 20 + + + + 输入题号, 留空表示针对所有没有对应单元的题目 + + + + + + 310 + 10 + 71 + 111 + + + + + true + + + + 运行 + + + + + + 20 + 20 + 141 + 20 + + + + 自适应赋予单元信息 + + + + + + diff --git a/工具v2/单元挂钩old.py b/工具v2/单元挂钩old.py new file mode 100644 index 00000000..4f371573 --- /dev/null +++ b/工具v2/单元挂钩old.py @@ -0,0 +1,27 @@ +from database_tools import * + +pro_dict = load_dict("../题库0.3/problems.json") +configjson = load_dict("文本文件/config.json")["单元挂钩.py"] + +if str(configjson["阶段"]).strip() == "1": + idexp = configjson["题号表达式"] + if idexp.strip() == "": + idlist = unUnitted(pro_dict) + else: + idlist = generate_number_set(idexp) + latex_body,tagrec = AutoAssignTagNotoLaTeX(idlist,pro_dict) + 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 str(configjson["阶段"]).strip() == "2": + output = UnitRectoMetadataText(ReadTextFile("临时文件/单元对应.txt")) + SaveTextFile(output,"文本文件/metadata.txt") + os.system("code 文本文件/metadata.txt") + +