summaryrefslogtreecommitdiff
path: root/app.py
blob: 6ef46679b53b91b82756241ee64415b50323cadc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/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

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()
    #print(tabletextes)
    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
        conf = g.decode_grille(idg, liste_err)
        if conf == {}: # Erreur à la génération
             bingo = g.genere_grille(DEFAUT, tabletextes)
             conf = DEFAUT.copy()
             e.erreur("L'url de la grille n'est pas valide...", liste_err)
        else:
            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":
            conf = g.gere_donnees_custom(flask.request.form, liste_err)
        else:
            conf= DEFAUT.copy()
        bingo = g.genere_grille(conf, tabletextes) # aléatoire
        
    chainecode = g.encode_grille(conf, bingo, liste_err)
    
    return flask.render_template("index.html", bingo=bingo, chainecode=chainecode, conf=conf, e=liste_err[0]+liste_err[1]+liste_err[2])
 
    
@app.route('/custom')
def custom():
    liste_err = e.initialise_erreurs()
    categ, tableqr = extraire_textes_par_cat(tablecomplete)
    nombre_categ = [len(elt) for elt in tableqr]
    print(nombre_categ)
    return flask.render_template("custom.html", DEFAUT=DEFAUT,CONFIG=CONFIG, nbdata=len(tabletextes), categ=categ, nbparcat = nombre_categ, e=liste_err[0]+liste_err[1]+liste_err[2])

if __name__ == "__main__":
 #   print("Mode debug maison : "+str(niveau_debug))
    app.run(host='0.0.0.0',debug=True)