继续丰富database_tools
This commit is contained in:
parent
b1a45c6518
commit
3979a35ab5
|
|
@ -223,10 +223,13 @@ def AddProblemstoDict(startingid,raworigin,problems,editor,indexdescription,thed
|
|||
newproblem = CreateNewProblem(pid,p.strip(),origin,thedict,GetDate() + "\t" + editor)
|
||||
if "blank" in p:
|
||||
newproblem["genre"] = "填空题"
|
||||
newproblem["space"] = ""
|
||||
elif "bracket" in p:
|
||||
newproblem["genre"] = "选择题"
|
||||
newproblem["space"] = ""
|
||||
else:
|
||||
newproblem["genre"] = "解答题"
|
||||
newproblem["space"] = "4em"
|
||||
thedict[pid] = newproblem
|
||||
maxsim,argmaxsim = detectmaxsim(pid,[pid],thedict)
|
||||
print("已收录题号: %s, 最接近题目: %s, 相似程度: %.3f, 题目类型: %s, 题目内容: %s"%(pid,argmaxsim,maxsim,newproblem["genre"],p))
|
||||
|
|
@ -246,7 +249,7 @@ def CreateIDLinks(old_id_list,new_id_list,*thedict): #建立已有id和新id之
|
|||
return id_links # 返回id联系, 每个元组表示一对id, 前者是旧id, 后者是新id
|
||||
|
||||
|
||||
def CreateRelatedProblems(links,thedict,filepath): # 根据links关联生成待编辑的新题目字典, 等待编辑修改
|
||||
def CreateRelatedProblems(links,thedict,filepath,editor): # 根据links关联生成待编辑的新题目字典, 等待编辑修改
|
||||
try:
|
||||
new_dict = {}
|
||||
for item in links:
|
||||
|
|
@ -257,7 +260,7 @@ def CreateRelatedProblems(links,thedict,filepath): # 根据links关联生成待
|
|||
new_dict[old_id]["usages"] = []
|
||||
new_dict[old_id]["same"] = []
|
||||
new_dict[old_id]["unrelated"] = []
|
||||
new_dict[old_id]["edit"] = new_dict[old_id]["edit"].copy() + [GetDate()+"\t"]
|
||||
new_dict[old_id]["edit"] = new_dict[old_id]["edit"].copy() + [GetDate()+"\t"+editor]
|
||||
new_dict[old_id]["origin"] += "-" + GetDate() + "修改"
|
||||
save_dict(new_dict,filepath)
|
||||
except:
|
||||
|
|
@ -277,6 +280,16 @@ def ImportRelatedProblems(new_json,main_json): # 导入编辑过的关联题目j
|
|||
pro_dict[new_id]["id"] = new_id
|
||||
pro_dict[id]["related"] += [new_id]
|
||||
pro_dict[new_id]["related"] += [id]
|
||||
p = pro_dict[new_id]["content"]
|
||||
if "blank" in p:
|
||||
pro_dict[new_id]["genre"] = "填空题"
|
||||
pro_dict[new_id]["genre"] = ""
|
||||
elif "bracket" in p:
|
||||
pro_dict[new_id]["genre"] = "选择题"
|
||||
pro_dict[new_id]["genre"] = ""
|
||||
else:
|
||||
pro_dict[new_id]["genre"] = "解答题"
|
||||
pro_dict[new_id]["genre"] = "4em"
|
||||
print("导入关联题目 %s -> %s 信息成功."%(id,new_id))
|
||||
save_dict(SortDict(pro_dict),main_json) #保存至目标pro_dict文件
|
||||
return 0 #正常返回0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
old_ids = "1,10000" # 需要添加关联题目的id字符串
|
||||
new_ids = "22127:50000" # 目的地的id字符串, 其中空闲位置需不少于old_ids中的题目数量
|
||||
editor = "王伟叶" # 修改人姓名
|
||||
|
||||
from database_tools import *
|
||||
|
||||
tempfilepath = "临时文件/problem_edit.json"
|
||||
|
||||
pro_dict = load_dict("../题库0.3/problems.json")
|
||||
links = CreateIDLinks(generate_number_set(old_ids),generate_number_set(new_ids),pro_dict)
|
||||
CreateRelatedProblems(links,pro_dict,tempfilepath,editor)
|
||||
|
||||
os.system("code "+tempfilepath)
|
||||
|
||||
input("编辑完毕后, 回车继续.")
|
||||
ImportRelatedProblems(tempfilepath,"../题库0.3/problems.json")
|
||||
Reference in New Issue