Capitula list done with jinja. Deleted coniugationes (I'll do it after LLPSI).
This commit is contained in:
parent
fbce34008b
commit
c3598b099f
22
app/main.py
22
app/main.py
@ -1,23 +1 @@
|
|||||||
from app import app
|
from app import app
|
||||||
|
|
||||||
# from flask import render_template
|
|
||||||
# from flask_sqlalchemy import SQLAlchemy
|
|
||||||
# from sqlalchemy import func
|
|
||||||
# from flask_wtf import FlaskForm
|
|
||||||
# from wtforms import Form, RadioField, SubmitField, HiddenField
|
|
||||||
|
|
||||||
# db = SQLAlchemy(app)
|
|
||||||
|
|
||||||
# class Word(db.Model):
|
|
||||||
# id = db.Column(db.Integer, primary_key=True)
|
|
||||||
# dictionarium = db.Column(db.String, unique=True, nullable=False)
|
|
||||||
# coniugatio = db.Column(db.Integer, unique=False, nullable=False)
|
|
||||||
|
|
||||||
# def __repr__(self):
|
|
||||||
# return '%r; %d conjugation' % (self.dictionarium, self.coniugatio)
|
|
||||||
|
|
||||||
# class ConjugatioAnswer(FlaskForm):
|
|
||||||
# radio = RadioField('', choices=[(1, 'Prima'), (2, 'Secunda'), (3, 'Tertia'), (4, 'Quarta')])
|
|
||||||
# word = HiddenField()
|
|
||||||
# submit = SubmitField('Check')
|
|
||||||
# next_word = SubmitField('Next word')
|
|
@ -1,39 +1,33 @@
|
|||||||
from app import app
|
from app import app
|
||||||
from flask import render_template
|
from flask import render_template, jsonify
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
capitula = [
|
||||||
|
{'title': '01 Imperium Romanum'},
|
||||||
|
{'title': '02 Familia Romana'},
|
||||||
|
{'title': '03 Puer Improbus'},
|
||||||
|
{'title': '04 Dominus et Servi'},
|
||||||
|
{'title': '05 Villa et Hortus'},
|
||||||
|
{'title': '06 Via Latina'},
|
||||||
|
{'title': '07 Puella et Rosa'},
|
||||||
|
{'title': '08 Taberna Romana'},
|
||||||
|
{'title': '09 Pastor et Oves'},
|
||||||
|
{'title': '10 Bestiae et Homines'}
|
||||||
|
]
|
||||||
|
|
||||||
|
for capitulum in capitula:
|
||||||
|
capitulum['filename'] = capitulum['title'].replace(' ', '_')
|
||||||
|
|
||||||
|
print(capitula)
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
@app.route('/index')
|
@app.route('/index')
|
||||||
def index():
|
@app.route('/llpsi')
|
||||||
return "Hello, World!"
|
|
||||||
|
|
||||||
@app.route('/latin')
|
|
||||||
def latin():
|
|
||||||
return render_template('latin.html')
|
|
||||||
|
|
||||||
@app.route('/latin/llpsi')
|
|
||||||
def llpsi():
|
def llpsi():
|
||||||
return render_template('LLPSI/LLPSI.html')
|
return render_template('index.html', capitula=capitula)
|
||||||
|
|
||||||
@app.route('/latin/llpsi/<path:pensum_id>')
|
@app.route('/llpsi/<path:pensum_id>')
|
||||||
def pensum(pensum_id):
|
def pensum(pensum_id):
|
||||||
filename = 'templates/Pensa/' + pensum_id + '.html'
|
filename = 'templates/Pensa/' + pensum_id + '.html'
|
||||||
with open(filename, 'r') as file:
|
with open(filename, 'r') as file:
|
||||||
return render_template('LLPSI/Pensum_cloze.html', pensum_title=pensum_id.replace('_', ' '), pensum_content=file.read())
|
return render_template('Pensum_cloze.html', pensum_title=pensum_id.replace('_', ' '), pensum_content=file.read())
|
||||||
|
|
||||||
@app.route('/latin/coniugationes')
|
|
||||||
def coniugationes():
|
|
||||||
return render_template('coniugationes.html')
|
|
||||||
|
|
||||||
@app.route('/latin/coniugationes/quod', methods=["GET", "POST"])
|
|
||||||
def coniugationes_test():
|
|
||||||
form = ConjugatioAnswer()
|
|
||||||
if form.validate_on_submit():
|
|
||||||
word = Word.query.filter_by(dictionarium=form.word.data).first()
|
|
||||||
if not form.next_word.data:
|
|
||||||
if int(form.radio.data) == word.coniugatio:
|
|
||||||
return render_template('coniugationes.html', dictionarium = word.dictionarium, form = form, success = True)
|
|
||||||
return render_template('coniugationes.html', dictionarium = word.dictionarium, form = form, fail = True)
|
|
||||||
word = Word.query.order_by(func.random()).first()
|
|
||||||
form.word.data = word.dictionarium
|
|
||||||
return render_template('coniugationes.html', dictionarium = word.dictionarium, form = form)
|
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="la">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>Lingua Latina Per Se Illustrata</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Lingua Latina Per Se Illustrata</h1>
|
|
||||||
<ul>
|
|
||||||
<li>Imperium Romanum
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/01_Imperium_Romanum_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/01_Imperium_Romanum_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>Familia Romana
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/02_Familia_Romana_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/02_Familia_Romana_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>Puer Improbus
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/03_Puer_Improbus_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/03_Puer_Improbus_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>Dominus et servi
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/04_Dominus_et_Servi_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/04_Dominus_et_Servi_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>Villa et Hortus
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/05_Villa_et_Hortus_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/05_Villa_et_Hortus_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>Via Latina
|
|
||||||
<ul>
|
|
||||||
<li><a href="/latin/llpsi/06_Via_Latina_Pensum_A">Pensum A</a></li>
|
|
||||||
<li><a href="/latin/llpsi/06_Via_Latina_Pensum_B">Pensum B</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -61,7 +61,6 @@
|
|||||||
Array.from(form.elements).forEach((input) => {
|
Array.from(form.elements).forEach((input) => {
|
||||||
if (input.type=="text" && document.getElementById('vowel_length').checked == false) {
|
if (input.type=="text" && document.getElementById('vowel_length').checked == false) {
|
||||||
is_macron_ok = (input.value == input_to_nomacron(input.dataset.expected));
|
is_macron_ok = (input.value == input_to_nomacron(input.dataset.expected));
|
||||||
console.log(input_to_nomacron(input.dataset.expected));
|
|
||||||
is_double_ok = false;
|
is_double_ok = false;
|
||||||
} else {
|
} else {
|
||||||
is_double_ok = (input_to_macron(input.value) == input.dataset.expected);
|
is_double_ok = (input_to_macron(input.value) == input.dataset.expected);
|
@ -1,41 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="la">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>Lingua Latina – Quattuor coniugationes verborum</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h2>Quod coniugatio?</h2>
|
|
||||||
<form method="POST">
|
|
||||||
<p>{{dictionarium}}</p>
|
|
||||||
<!-- <input type="radio" id="con1" name="asnwer" value="1">
|
|
||||||
<label for="con1">Prima</label>
|
|
||||||
<input type="radio" id="con2" name="asnwer" value="2">
|
|
||||||
<label for="con2">Secunda</label>
|
|
||||||
<input type="radio" id="con3" name="asnwer" value="3">
|
|
||||||
<label for="con3">Tertia</label>
|
|
||||||
<input type="radio" id="con4" name="asnwer" value="4">
|
|
||||||
<label for="con4">Quarta</label> -->
|
|
||||||
<!-- <input type="submit"> -->
|
|
||||||
{{form.word}}
|
|
||||||
{{form.csrf_token}}
|
|
||||||
{% for subfield in form.radio %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ subfield }}</td>
|
|
||||||
<td>{{ subfield.label }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
{{form.submit}}
|
|
||||||
|
|
||||||
{%if success %}
|
|
||||||
<br>Correct!<br>
|
|
||||||
{{form.next_word}}
|
|
||||||
{%endif%}
|
|
||||||
{% if fail %}
|
|
||||||
<br>Wrong!<br>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- <label for="ego">Ego</label><br>
|
|
||||||
<input type="text" id="ego" name="ego"><br>
|
|
||||||
--></body>
|
|
||||||
</html>
|
|
21
app/templates/index.html
Normal file
21
app/templates/index.html
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="la">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Lingua Latina Per Se Illustrata</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Lingua Latina Per Se Illustrata</h1>
|
||||||
|
<ul>
|
||||||
|
{% for capitulum in capitula %}
|
||||||
|
<li>{{capitulum.title}}
|
||||||
|
<ul>
|
||||||
|
<li><a href="/llpsi/{{capitulum.filename}}_Pensum_A">Pensum A</a></li>
|
||||||
|
<li><a href="/llpsi/{{capitulum.filename}}_Pensum_B">Pensum B</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1,11 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="la">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>Lingua Latina</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a href="/latin/llpsi">Lingua Latina Per Se Illustrata</a><br>
|
|
||||||
<a href="/latin/coniugationes">Coniugationes</a>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue
Block a user