#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Mon Jul 26 17:31:48 2021 @author: sekhmet """ #!/usr/bin/env python3 # -*- coding: utf-8 -*- import flask import data_textes as data #from data_textes import tabletextes, tablecomplete, extraire_textes_par_cat import gere_grille as g import gere_erreurs as e from config import DEFAUT, CONFIG def initialise_mode_beta(): global beta hote = flask.request.host if hote[:4] == "beta": print("** Mode bêta !**") return True else: return False app = flask.Flask(__name__) @app.route('/', methods=["GET", "POST"]) def index(): liste_err = e.initialise_erreurs() tablecomplete = data.lire_fichier_csv_simple(CONFIG["fichier_bingo"]) conf = DEFAUT.copy() idg = flask.request.args.get("grille", "") # Id de grille passée en param (ou pas) if idg != "": # Si on a mis un url de grille confimport = g.decode_grille(idg, liste_err) if confimport == {}: # Erreur à la génération #tabletextes = data.extraire_qr(tablecomplete, categ) # Toutes les remarques bingo = g.genere_grille(DEFAUT, tablecomplete, liste_err) e.erreur("L'url de la grille n'est pas valide...", liste_err) else: conf.update(confimport) bingo=conf["grille"] else: # On récupère les données post (et ça sera défaut si y'a rien) if flask.request.method == "POST": e.debug("avant utilisation post : "+str(conf), liste_err) conf.update(g.gere_donnees_custom(flask.request.form, liste_err)) e.debug("après utilisation post : "+str(conf), liste_err) #tabletextes = data.extraire_qr(tablecomplete, conf["categories"]) bingo = g.genere_grille(conf, tablecomplete, liste_err) # aléatoire avec la config donnée chainecode = g.encode_grille(conf, bingo, liste_err) # Récupérer la partie sauvegardée si il y a sauvegarde = flask.request.args.get("sauv","") return flask.render_template("index.html", bingo=bingo, chainecode=chainecode, conf=conf, sauv=sauvegarde, e=liste_err[0]+liste_err[1]+liste_err[2]) @app.route('/custom') def custom(): liste_err = e.initialise_erreurs() tablecomplete = data.lire_fichier_csv_simple(CONFIG["fichier_bingo"]) categ, tableqr = data.extraire_textes_par_cat(tablecomplete) nombre_categ = [len(elt) for elt in tableqr] nbdata = len(tablecomplete) print(nombre_categ) return flask.render_template("custom.html", DEFAUT=DEFAUT,CONFIG=CONFIG, nbdata=nbdata, categ=categ, nbparcat = nombre_categ, e=liste_err[0]+liste_err[1]+liste_err[2]) @app.route('/apropos') def apropos(): #liste_err = e.initialise_erreurs() table_version = data.lire_fichier_csv_simple(CONFIG["fichier_changelog"]) return flask.render_template("apropos.html", version = table_version) # Liste de toutes les répliques @app.route('/liste') def liste(): #liste_err = e.initialise_erreurs() tablecomplete = data.lire_fichier_csv_simple(CONFIG["fichier_bingo"]) categ, tableqr = data.extraire_textes_par_cat(tablecomplete) return flask.render_template("liste.html", lcateg = categ, tableqr=tableqr) if __name__ == "__main__": # print("Mode debug maison : "+str(niveau_debug)) app.run(host='0.0.0.0',debug=True)