丰富database_tools, 增加json编辑题目综合信息功能

This commit is contained in:
weiye.wang 2023-06-28 22:02:12 +08:00
parent b1c5368917
commit bd4cd009aa
3 changed files with 32 additions and 1 deletions

View File

@ -581,6 +581,24 @@ def RemoveMutualLink(metadata,prodict): # 删除双向关联id(same,related,unre
prodict[id1][field].remove(id2) prodict[id1][field].remove(id2)
return 0 # 返回0 return 0 # 返回0
def jsonEditProblemMetadata(id_string,prodict,editor): #用vscode在json模式下编辑题目综合信息
jsontoeditpath = "临时文件/problem_edit.json"
idlist = generate_number_set(id_string,prodict)
edit_dict = {}
for id in idlist:
edit_dict[id] = prodict[id].copy()
save_dict(edit_dict,jsontoeditpath)
#打开待编辑的json文件
os.system("code -w -g "+jsontoeditpath)
#编辑后关闭文件窗口自动执行下面步骤
editeddict = load_dict(jsontoeditpath)
editlist = []
for id in editeddict:
if not prodict[id] == editeddict[id]:
prodict[id] = editeddict[id].copy()
prodict[id]["edit"] = prodict[id]["edit"] + [GetDate() + "\t" + editor]
editlist.append(id)
return(generate_exp(editlist)) # 返回编辑过的题号字符串
if __name__ == "__main__": if __name__ == "__main__":
print("数据库工具, import用.") print("数据库工具, import用.")

View File

@ -0,0 +1,13 @@
id_string = "1:2,10"
prodictpath = "../题库0.3/Problems.json"
editor = "王伟叶"
from database_tools import *
pro_dict = load_dict(prodictpath)
editedid_list = jsonEditProblemMetadata(id_string,pro_dict,editor)
save_dict(pro_dict,prodictpath)
print("题号 %s 已编辑."%editedid_list)