丰富database_tools, 增加json编辑题目综合信息功能
This commit is contained in:
parent
b1c5368917
commit
bd4cd009aa
|
|
@ -580,7 +580,25 @@ def RemoveMutualLink(metadata,prodict): # 删除双向关联id(same,related,unre
|
||||||
if id2 in prodict[id1][field]:
|
if id2 in prodict[id1][field]:
|
||||||
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用.")
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
Reference in New Issue