コード例 #1
0
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))
コード例 #2
0
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
コード例 #3
0
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 먼저 업데이트
コード例 #4
0
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))
コード例 #5
0
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))