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}
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"}
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"}
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, }
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
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'], }
def action_get_cost(): token = request.form.get("token") action = request.form.get("action") return {"status": "OK", "action": action, "cost": get_cost(token, action)}