diff --git a/flash_cards.py b/flash_cards.py index abcd4b9..812f5f9 100644 --- a/flash_cards.py +++ b/flash_cards.py @@ -193,6 +193,29 @@ def memorize(card_type, card_id=None): card_type=card_type, short_answer=short_answer, tags=tags) +@app.route('/memorize_know') +@app.route('/memorize_know/') +@app.route('/memorize_know/') +def memorize_know(card_type, card_id=None): + tag = getTag(card_type) + if tag is None: + return redirect(url_for('cards')) + + if card_id: + card = get_card_by_id(card_id) + else: + card = get_card_already_know(card_type) + if not card: + flash("You hasn't learned any '" + tag[1] + "' cards yet.") + return redirect(url_for('show')) + short_answer = (len(card['back']) < 75) + tags = getAllTag() + card_type = int(card_type) + return render_template('memorize_know.html', + card=card, + card_type=card_type, + short_answer=short_answer, tags=tags) + def get_card(type): db = get_db() @@ -419,6 +442,23 @@ def handle_old_schema(): create_tag_table() init_tag() +def get_card_already_know(type): + db = get_db() + + query = ''' + SELECT + id, type, front, back, known + FROM cards + WHERE + type = ? + and known = 1 + ORDER BY RANDOM() + LIMIT 1 + ''' + + cur = db.execute(query, [type]) + return cur.fetchone() + if __name__ == '__main__': app.run(host='0.0.0.0')