Merge pull request #1 from duongban/dev

Merge branch dev to main
This commit is contained in:
duongban
2021-06-19 17:25:08 +07:00
committed by GitHub
3 changed files with 145 additions and 0 deletions

View File

@@ -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/<card_id>')
@app.route('/memorize_know/<card_type>')
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')

View File

@@ -29,6 +29,7 @@
<li><a href="{{ url_for('list_db') }}">list database</a></li>
<li><a href="{{ url_for('create_db') }}">create database</a></li>
<li><a href="{{ url_for('memorize', card_type='1') }}">memorize</a></li>
<li><a href="{{ url_for('memorize_know', card_type='1') }}">memorize know</a></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;</li>
<li><a href="{{ url_for('logout') }}">log out</a></li>
{% endif %}

View File

@@ -0,0 +1,104 @@
{% extends "layout.html" %}
{% block body %}
<div class="row">
<div class="col-xs-12 text-center">
<div class="btn-group btn-group-lg" role="group" aria-label="card type">
{% for tag in tags %}
<a href="{{ url_for('memorize_know', card_type=tag.id) }}" class="btn btn-{{ "primary" if card_type == tag.id else "default" }}">{{tag.tagName}}</a>
{% endfor %}
</div>
</div>
</div>
<hr/>
<div class="row memorizePanel">
<!--
<div class="col-xs-2">
<div class="alignContainer">
<div class="alignMiddle text-right">
<br/>
<br/>
<a href="wewetw"><i class="fa fa-chevron-left fa-5x"></i></a>
</div>
</div>
</div>
-->
<div class="col-xs-8 col-xs-offset-2">
<div class="panel panel-default cardFront">
<div class="panel-body">
<div class="alignContainer">
<div class="alignMiddle frontText">
<h3 class="text-center">{{ card.front }}</h3>
</div>
</div>
</div>
</div>
<div class="panel panel-primary cardBack">
<div class="panel-body">
<div class="alignContainer">
<div class="alignMiddle frontText">
{% if card.type == 1 %}
{% if short_answer %}
<div class="text-center largerText">
{% endif %}
{{ card.back|replace("\n", "<br />")|safe }}
{% if short_answer %}
</div>
{% endif %}
{% else %}
<pre><code>{{ card.back|escape }}</code></pre>
{% endif %}
</div>
</div>
</div>
</div>
</div>
<!--
<div class="col-xs-2">
<div class="alignContainer">
<div class="alignMiddle text-left">
<br/>
<br/>
<a href="ergergerge"><i class="fa fa-chevron-right fa-5x"></i></a>
</div>
</div>
</div>
-->
</div>
<div class="row">
<div class="col-xs-12 text-center">
<a href="javascript:" class="btn btn-primary btn-lg flipCard">
<i class="fa fa-exchange"></i>
Flip Card
</a>
&nbsp;
&nbsp;
<a href="{{ url_for('mark_known', card_id=card.id, card_type=card_type) }}" class="btn btn-success btn-lg">
<i class="fa fa-check"></i>
I Know It
</a>
&nbsp;
&nbsp;
<a href="{{ url_for('memorize_know', card_type=card_type) }}" class="btn btn-primary btn-lg">
Next Card
<i class="fa fa-arrow-right"></i>
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 text-center">
<br />
<br />
<br />
<a href="{{ url_for('bookmark', card_type=3, card_id=card.id) }}" class="btn btn-default btn-sm">
<i class="fa fa-bookmark"></i>
bookmark this card (#{{ card.id }})
</a>
</div>
</div>
{% endblock %}