丰富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]:
|
||||
prodict[id1][field].remove(id2)
|
||||
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__":
|
||||
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