Commit 252c9cc5 authored by Naoeltanuki's avatar Naoeltanuki
Browse files

Correction problème du lecteur qui s'affiche même si pas d'audio

J'ai enfin réussi! (je devais créer un array, insérer les audios et ensuite tester si vide ou pas)
J'ai aussi mis les marqueurs gris du coup
Je vais regarder pour la légende de la carte
(J'ai ajouté l'extension "do" dans __init__ afin de faire des append si jamais)
parent 2ee06278
......@@ -6,6 +6,8 @@ import sqlite3
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///prince.db'
app.jinja_env.add_extension('jinja2.ext.do')
app.jinja_env.add_extension('jinja2.ext.loopcontrols')
db = SQLAlchemy(app)
from prince import routes
......@@ -2,6 +2,7 @@ from flask import render_template, url_for
from prince import app, db
from prince.models import Language, Sound
@app.route('/')
@app.route('/home')
def home():
......@@ -26,4 +27,4 @@ def carte():
french = Language.french
prince_language = Language.query.filter_by(actif=1)
sounds = Sound.query.all()
return render_template('carte.html', title='Carte', prince_language=prince_language, sounds=sounds)
return render_template('carte.html', title='Carte', prince_language=prince_language, sounds = sounds)
......@@ -45,37 +45,46 @@
var imgtext = {{ langue.imgtext|tojson }};
var iso = {{ langue.iso|tojson }};
var audioplayerJS = '';
//array audios, après on testera si vide ou pas
{% set audioplayerList = [] %}
//boucle pour aller chercher audio pour chaque langue
{% for sound in sounds %}
{% if sound.language == langue.iso %}
{% set audioplayer = sound.filename %}
var audioplayerJS = {{ audioplayer|tojson }};
var audioplayerJS = {{ audioplayer|tojson}};
{% do audioplayerList.append(audioplayer) %}
{% endif %}
{% endfor %}
//test pour définir audioplayer si pas d'audio (pour marqueur gris)
{% if audioplayer is none %}
{% set audioplayer = '' %}
{% endif %}
L.marker([lat,lng],
//langue principale
{% if langue.varpron == 0 %}
{icon: greenIcon}
//variante de prononciation
{% elif langue.varpron == 1 %}
{icon: blueIcon}
//dialecte
{% elif langue.varpron == 2 %}
{icon: redIcon}
//ici j'aimerais mettre en gris les langues sans enregistrements
{% elif audioplayer == '' %}
//test pour savoir s'il existe un audio
{% if audioplayerList|length %}
//langue principale
{% if langue.varpron == 0 %}
{icon: greenIcon}
//variante de prononciation
{% elif langue.varpron == 1 %}
{icon: blueIcon}
//dialecte
{% elif langue.varpron == 2 %}
{icon: redIcon}
{% endif %}
{% else %}
// les langues sans enregistrements en gris
{icon: greyIcon}
{% endif %}
).addTo(mymap).bindPopup('<b>' + french + '</b><br>' +
//s'il existe au moins un audio, on met le premier(ou le dernier?), se lance automatiquement quand on clique dessus
{% if audioplayer != '' %}
'<audio controls src="{{ url_for('static', filename='audio/') }}' + audioplayerJS + '" autoplay = "autoplay"> Your browser does not support the <code>audio</code> element.</audio>' +
{% if audioplayerList|length %}
'<audio controls src="{{ url_for('static', filename='audio/') }}' + audioplayerJS + '" autoplay = "autoplay"> Your browser does not support the <code>audio</code> element.</audio><p>' +
{% else %}
'<p> Pas d\'enregistrement disponible </p>' +
{% endif %}
//s'il y a un texte on l'affiche
{% if langue.text != '' %}
text +
......
......@@ -2,3 +2,4 @@ from prince import app
if __name__=='__main__':
app.run(debug=True)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment