修改metadata 施工中, ObtainDatatoModify需要修改(项目切分)
This commit is contained in:
parent
45a342cfe2
commit
03f0d20163
|
|
@ -832,31 +832,42 @@ def AppendUsageData2024(prodict,field_id_and_content):
|
||||||
return (field,id,content,output) #返回四元组: 题号, 字段, 内容, 待确定是否要添加的字符串(不含FORCE字样的行为旧结果,含FORCE字样的行为新结果,FORCE是运行后强制添加)
|
return (field,id,content,output) #返回四元组: 题号, 字段, 内容, 待确定是否要添加的字符串(不含FORCE字样的行为旧结果,含FORCE字样的行为新结果,FORCE是运行后强制添加)
|
||||||
|
|
||||||
|
|
||||||
def ImportMetadata(prodict,objdict,fieldsdict,metadatafilepath,pendingdatafilepath): #metadata自动修改, 根据字段自适应修改, 参数为题库字典, 目标字典, 字段字典, metadata文本文件路径, 待确定是否替换的内容的存放路径
|
def ImportMetadata(db,metadatafilepath): #metadata自动修改, 根据字段自适应修改, 参数为题库字典, 目标字典, 字段字典, metadata文本文件路径, 待确定是否替换的内容的存放路径
|
||||||
|
fieldsdict = {"objs":"objappend",
|
||||||
|
"tags":"tagappend",
|
||||||
|
"ans":"overwrite",
|
||||||
|
"solution":"overwrite",
|
||||||
|
"usages":"usageappend",
|
||||||
|
"same":"mutualappend",
|
||||||
|
"related":"mutualappend",
|
||||||
|
"unrelated":"mutualappend",
|
||||||
|
"space":"overwrite",
|
||||||
|
"remark":"remarkappend"
|
||||||
|
}
|
||||||
data_to_modify = ObtainDatatoModify(metadatafilepath,fieldsdict)
|
data_to_modify = ObtainDatatoModify(metadatafilepath,fieldsdict)
|
||||||
outputstring = "usages\n\n"
|
print(data_to_modify)
|
||||||
for item in data_to_modify:
|
for item in data_to_modify:
|
||||||
field = item[0]
|
field = item[0]
|
||||||
if field == "NotAField":
|
if field == "NotAField":
|
||||||
print("字段名有误")
|
print(f"项目 {item[1]} {item[2]} 字段名有误, 未对数据库作更改, 请检查!!!")
|
||||||
|
db.rollback()
|
||||||
|
db.close()
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
method = fieldsdict[field]["Method"]
|
method = fieldsdict[field]
|
||||||
if method == "overwrite":
|
print(method)
|
||||||
feedback = OverwriteData(prodict,fieldsdict,item)
|
|
||||||
elif method == "append":
|
|
||||||
feedback = AppendData(prodict,fieldsdict,item)
|
return 0 # 已在数据库中修改, 之后需要将数据库写入一次, 返回1表示字段名有误, 返回其他表示成功进行了修改
|
||||||
elif method == "mutualappend":
|
|
||||||
feedback = AppendMutualData(prodict,item)
|
def overwriteinDB(mydb,field,id,content_string):
|
||||||
elif method == "objappend":
|
mycursor = mydb.cursor()
|
||||||
feedback = AppendObjData(prodict,objdict,item)
|
sql = f"UPDATE problems SET {field} = %s WHERE ID = %s;"
|
||||||
elif method == "usageappend":
|
val = (content_string,id)
|
||||||
feedback = AppendUsageData2024(prodict,item)
|
mycursor.execute(sql,val)
|
||||||
outputstring += feedback[3]
|
sql = "INSERT INTO logs (DATE,TIME,username,ID,action,db_content) VALUE (%s,%s,%s,%s,%s,%s);"
|
||||||
elif method == "fixed":
|
val = (GetDate(),GetTime(),get_git_username(),id,f"更改 {field} 数据",content_string)
|
||||||
print("字段 %s 不可按此方式修改"%field)
|
mycursor.execute(sql,val)
|
||||||
SaveTextFile(outputstring,pendingdatafilepath)
|
|
||||||
return outputstring # 已在数据库中修改, 之后需要将数据库写入一次, 返回1表示字段名有误, 返回其他表示成功进行了修改
|
|
||||||
|
|
||||||
def parseUsage(usagestring): #对单行usage信息进行分词
|
def parseUsage(usagestring): #对单行usage信息进行分词
|
||||||
usagedict = {}
|
usagedict = {}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
metadatafilepath = "文本文件/metadata.txt"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from database_tools_2 import *
|
||||||
|
|
||||||
|
# fieldsdict = load_dict("../题库0.3/ProblemFields.json")
|
||||||
|
# prodict = load_dict("../题库0.3/Problems.json")
|
||||||
|
# objdict = load_dict("../题库0.3/LessonObj.json")
|
||||||
|
|
||||||
|
mydb = connect(hostname = "wwylss.synology.me", port = "13306", username="tikuuser", pwd="Kjmathds_2024", db = "tikutest")
|
||||||
|
|
||||||
|
|
||||||
|
ImportMetadata(mydb,metadatafilepath)
|
||||||
|
|
||||||
|
mydb.close()
|
||||||
|
# save_dict(prodict,"../题库0.3/Problems.json")
|
||||||
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
objs
|
||||||
|
|
||||||
|
1
|
||||||
|
K0201001B
|
||||||
|
|
||||||
|
3
|
||||||
|
K0302004X
|
||||||
|
|
||||||
|
tags
|
||||||
|
|
||||||
|
20
|
||||||
|
第四单元
|
||||||
|
第五单元
|
||||||
|
|
||||||
|
300
|
||||||
|
复数
|
||||||
|
|
||||||
|
usages
|
||||||
|
|
||||||
|
500
|
||||||
|
20240417 2026届高一12班 0.955
|
||||||
|
|
||||||
|
501
|
||||||
|
20240417 2026届高一10班 0.945
|
||||||
|
|
||||||
|
remark
|
||||||
|
|
||||||
|
2111
|
||||||
|
20240417 测试
|
||||||
|
20240417 测试2
|
||||||
|
|
||||||
|
ans
|
||||||
|
|
||||||
|
1
|
||||||
|
205
|
||||||
|
|
||||||
|
2
|
||||||
|
20501
|
||||||
|
|
||||||
Reference in New Issue