sharesameusagesinDB有问题,待修改

This commit is contained in:
wangweiye7840 2024-04-16 16:45:35 +08:00
parent 918d1108f9
commit 3b09f9db94
2 changed files with 43 additions and 0 deletions

View File

@ -993,6 +993,35 @@ def GetSamePairs(prodict): #获取已标注的相同题目组
same_groups.append([id]+same)
return(same_groups) #返回相同题目组, 每组由一些相同的题目构成
def ShareSameUsagesinDB(id1,id2): #有问题, 待修改
mydb = connect(hostname = "wwylss.synology.me", port = "13306", username="tikuuser", pwd="Kjmathds_2024", db = "tikutest")
mycursor = mydb.cursor()
sql = "SELECT ID,date,classname,diff FROM usages WHERE ID = (%s);"
val = (id1,)
mycursor.execute(sql,val)
id1_usages_list = mycursor.fetchall()
val = (id2,)
mycursor.execute(sql,val)
id2_usages_list = mycursor.fetchall()
for item in set(id1_usages_list)-set(id2_usages_list):
sql = "INSERT INTO usages (ID,date,classname,diff) VALUE (%s,%s,%s,%s);"
val = (id2,item[1],item[2],item[3])
mycursor.execute(sql,val)
sql = "INSERT INTO logs (DATE,TIME,username,action,db_content) VALUE (%s,%s,%s,%s,%s);"
val = (GetDate(),GetTime(),get_git_username(),"分享使用数据",f"{id1} -> {id2}: {item[1]}\t{item[2]}\t{item[3]}")
mycursor.execute(sql,val)
for item in set(id2_usages_list)-set(id1_usages_list):
sql = "INSERT INTO usages (ID,date,classname,diff) VALUE (%s,%s,%s,%s);"
val = (id1,item[1],item[2],item[3])
mycursor.execute(sql,val)
sql = "INSERT INTO logs (DATE,TIME,username,action,db_content) VALUE (%s,%s,%s,%s,%s);"
val = (GetDate(),GetTime(),get_git_username(),"分享使用数据",f"{id2} -> {id1}: {item[1]}\t{item[2]}\t{item[3]}")
mycursor.execute(sql,val)
mydb.commit()
mydb.close()
return 0
def ShareSameUsages(prodict,same_group): #对same_group中的所有题号共享使用记录
current_usages = []
for id in same_group:

View File

@ -0,0 +1,14 @@
from database_tools_2 import *
same_list = generate_same_list()
for id,same_id in same_list:
ShareSameUsagesinDB(id,same_id)
print(f"{id}{same_id} 的使用记录分享完成")
# prodict = load_dict(prodictpath)
# same_groups = GetSamePairs(prodict)
# for sg in same_groups:
# ShareSameUsages(prodict,sg)
# SortUsages(prodict)
# save_dict(prodict,prodictpath)