def update_forgettingRate(answer, userId): # sql = 'SELECT word, meaning FROM ForgettingRate_' + userId sql_f = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE meaning = %s' sql_t = 'SELECT testTime FROM forgettingRate_' + userId + ' WHERE meaning = %s' forgettingStage = db.getDB(sql_f, (answer)) testTime = db.getDB(sql_t, (answer)) defaultTestTime = '2000-10-10 10:10:10' if testTime[0][0] == defaultTestTime: ## testTime == NULL 일 때 #study만 하고 exam 거치지 않은 경우.(오늘 처음 study한 단어들) -> forgettingRate=0해서 exam에 뽑히게 new_forgettingRate = 0 #elif forgettingStage[0][0] == 0: ## study 안 하고 바로 test(forgettigStage=0) # new_forgettingRate = 0 # update_SubWordSet_studied(subWordSet) # update_Word_studied(wordSetId, subWordSetId) else: new_forgettingRate = cal_forgettingRate(forgettingStage[0][0], testTime[0][0]) #sql2 = """UPDATE Word SET forgettingRate = %f WHERE id = %d""" sql2 = 'UPDATE forgettingRate_' + userId + ' SET forgettingRate = %s WHERE meaning = %s' if new_forgettingRate > 200000: new_foregettingRate = 100000 db.setDB(sql2, (new_forgettingRate, answer))
def update_forgettingStage(answer, correct, userId): if correct == 1: sql1 = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE meaning = %s' ### forgettingStage = db.getDB(sql1, (answer)) forgettingStage_up = forgettingStage[0][0] + 1 sql2 = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = %s WHERE meaning = %s' ### db.setDB(sql2, (forgettingStage_up, answer)) # forgettingStage +1 # correct == 0 이면 forgettingStage 유지 elif correct == 0: pass
def init_forgettingStage(wordSetId, subWordSetId, userId): sql2 = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE wordSetId = %s AND subWordSetId = %s' forgettingStage = db.getDB(sql2, (wordSetId, subWordSetId)) print("@#!@#!@$!@$!@#!@$!@$!@#!@$!@$!@$") print(forgettingStage) print("@#!@#!@$!@$!@#!@$!@$!@#!@$!@$!@$") if (forgettingStage == 0): sql = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = 1 WHERE wordSetId = %s AND subWordSetId = %s' db.setDB(sql, (wordSetId, subWordSetId)) elif (forgettingStage[0][0] == 0): sql = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = 1 WHERE wordSetId = %s AND subWordSetId = %s' db.setDB(sql, (wordSetId, subWordSetId)) #test stage 끝난 후 exam 비우기 전! testTime 먼저 업데이트
def update_SubWordSet_studied(wordSetId, subWordSetId): # sql = 'UPDATE SubWordSet SET studied = 1 WHERE name = %s' sql = 'UPDATE Word SET studied = 1 WHERE wordSetId = %s AND subWordSetId = %s' db.setDB(sql, (wordSetId, subWordSetId))
def update_testTime(answer, userId): new_testTime = datetime.datetime.now() new_testTime_str = new_testTime.strftime('%Y-%m-%d %H:%M:%S') sql = 'UPDATE forgettingRate_' + userId + ' SET testTime = %s WHERE meaning = %s' ### db.setDB(sql, (new_testTime_str, answer))