@@ -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')
|
||||
|
||||
@@ -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> </li>
|
||||
<li><a href="{{ url_for('logout') }}">log out</a></li>
|
||||
{% 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