@@ -193,6 +193,29 @@ def memorize(card_type, card_id=None):
|
|||||||
card_type=card_type,
|
card_type=card_type,
|
||||||
short_answer=short_answer, tags=tags)
|
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):
|
def get_card(type):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
@@ -419,6 +442,23 @@ def handle_old_schema():
|
|||||||
create_tag_table()
|
create_tag_table()
|
||||||
init_tag()
|
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__':
|
if __name__ == '__main__':
|
||||||
app.run(host='0.0.0.0')
|
app.run(host='0.0.0.0')
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
<li><a href="{{ url_for('list_db') }}">list database</a></li>
|
<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('create_db') }}">create database</a></li>
|
||||||
<li><a href="{{ url_for('memorize', card_type='1') }}">memorize</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> </li>
|
<li> </li>
|
||||||
<li><a href="{{ url_for('logout') }}">log out</a></li>
|
<li><a href="{{ url_for('logout') }}">log out</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
104
templates/memorize_know.html
Normal file
104
templates/memorize_know.html
Normal 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>
|
||||||
|
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
<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 %}
|
||||||
Reference in New Issue
Block a user