From 09b86b776679b6e872f1ef37d2c3682d91eca1fb Mon Sep 17 00:00:00 2001 From: duongban Date: Sat, 19 Jun 2021 17:11:54 +0700 Subject: [PATCH 1/3] Implement memorize_know and get cards alread known --- flash_cards.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) 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') From b15e032114bb3eb691d3f5e70343040c6507b7ca Mon Sep 17 00:00:00 2001 From: duongban Date: Sat, 19 Jun 2021 17:21:54 +0700 Subject: [PATCH 2/3] Add page memorize alreday known cards --- templates/memorize_know.html | 104 +++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 templates/memorize_know.html 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 %} From 163e9c2a88f08fb799878c137fdda9d0cf261947 Mon Sep 17 00:00:00 2001 From: duongban Date: Sat, 19 Jun 2021 17:22:27 +0700 Subject: [PATCH 3/3] Link memorize_know to layout --- templates/layout.html | 1 + 1 file changed, 1 insertion(+) 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 %}