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') diff --git a/templates/layout.html b/templates/layout.html index 950bed9..da854bf 100644 --- a/templates/layout.html +++ b/templates/layout.html @@ -29,6 +29,7 @@
  • list database
  • create database
  • memorize
  • +
  • memorize know
  •     
  • log out
  • {% endif %} diff --git a/templates/memorize_know.html b/templates/memorize_know.html new file mode 100644 index 0000000..128e1af --- /dev/null +++ b/templates/memorize_know.html @@ -0,0 +1,104 @@ +{% extends "layout.html" %} +{% block body %} + +
    +
    +
    + {% for tag in tags %} + {{tag.tagName}} + {% endfor %} +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    +

    {{ card.front }}

    +
    +
    +
    +
    +
    +
    +
    +
    + {% if card.type == 1 %} + {% if short_answer %} +
    + {% endif %} + {{ card.back|replace("\n", "
    ")|safe }} + {% if short_answer %} +
    + {% endif %} + {% else %} +
    {{ card.back|escape }}
    + {% endif %} +
    +
    +
    +
    +
    + +
    + + + + +{% endblock %}