示例#1
0
def action_start_training():
    token = request.form.get("token")
    list_id = request.form.get("list_id")
    assert token
    assert list_id
    training_id = start_training(token, list_id)
    change_balance(token, get_cost(token, 'start-training'))
    return {"status": "OK", "training_id": training_id}
示例#2
0
def action_add_list():
    token = request.form.get('token')
    list_id = request.form.get('list_id')
    try:
        add_user_list(token, list_id)
    except Exception:
        return {"status": "Error"}
    change_balance(token, get_cost(token, 'add-list'))
    return {"status": "OK"}
示例#3
0
def action_create_list():
    token = request.form.get("token")
    source_lang_code = request.form.get("source_lang_code")
    target_lang_code = request.form.get("target_lang_code")
    name = request.form.get("name")
    try:
        add_list(token, name, source_lang_code, target_lang_code)
    except Exception as e:
        return {"status": "Error", "message": str(e)}
    change_balance(token, get_cost(token, 'create-list'))
    return {"status": "OK"}
示例#4
0
def action_word_info():
    token = request.form.get("token")
    lemma = request.form.get("word")
    lang_code = request.form.get("lang_code")
    target_lang_code = request.form.get("target_lang_code")
    translations = get_word_translations(lemma, lang_code, target_lang_code)
    lemma = translations['lemma']
    translations = translations['translations']
    change_balance(token, get_cost(token, 'word-info'))
    return {
        "word": lemma,
        "translations": translations,
    }
示例#5
0
def add_word(token, word, lang_id):
    conn = connect()
    with conn.cursor() as cursor:
        query = f"SELECT id FROM words WHERE word='{word}' AND lang_id='{lang_id}'"
        cursor.execute(query)
        res = cursor.fetchone()
        if res is None:
            query = f"INSERT INTO words (word, lang_id) VALUES ('{word}', '{lang_id}')"
            cursor.execute(query)
            change_balance(token, get_cost(token, 'add-word'))
        else:
            query = f"UPDATE words SET frequency = frequency + 1 WHERE word='{word}' AND lang_id='{lang_id}'"
            cursor.execute(query)
    conn.commit()
    return None
示例#6
0
def action_upload_text():
    token = request.form.get("token")
    name = request.form.get("name")
    lang_code = request.form.get("lang_code")
    text_file = request.files["text_file"]
    text = str(text_file.read(), encoding='utf-8')
    try:
        text = add_new_text(token, name, text, lang_code)
    except Exception as e:
        raise e
        return {"status": "Error", "message": str(e)}
    change_balance(token, get_cost(token, 'upload-text'))
    return {
        "status": "OK",
        "id": text['id'],
    }
示例#7
0
def action_get_cost():
    token = request.form.get("token")
    action = request.form.get("action")
    return {"status": "OK", "action": action, "cost": get_cost(token, action)}