Marin/pages.py

100 lines
3.6 KiB
Python
Raw Normal View History

2021-12-02 19:41:51 +01:00
from flask import render_template
2021-12-02 19:05:44 +01:00
import definitions as lib
2021-12-03 03:28:53 +01:00
from difflib import SequenceMatcher
2021-12-02 19:05:44 +01:00
2021-12-03 01:08:46 +01:00
dbname = "site.db"
2021-12-02 19:41:51 +01:00
# Fonctions qui seront associées à des URLs
2021-12-02 19:05:44 +01:00
def main():
2021-12-02 20:17:23 +01:00
return render_template("index.html")
2021-12-02 20:14:13 +01:00
def error():
return render_template("error.html")
2021-12-03 01:08:46 +01:00
2021-12-03 02:05:05 +01:00
def bateau(idbateau):
dico = {}
dico["NomBateau"] = "Le Bateau"
dico["nom"] = "Le constructeur"
dico["Dimensions"] = 666
dico["DateInstallation"] = "Aujourd'hui"
dico["DateCondamnation"] = "Demain"
dico["ville"] = "ici"
dico["HistoireBateau"] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at odio cursus, rutrum odio non, dignissim risus. Pellentesque non varius ante. Vivamus scelerisque pulvinar mauris, nec imperdiet ante mattis et."
result = lib.ex_sql(dbname,"SELECT * FROM bateau WHERE ship_id=?",(idbateau,))
if len(result)>=1:
result = result[0]
dico["nom"] = result["nom"]
print(result)
dico["Dimensions"] = result["dimension"]
dico["DateInstallation"] = result["date_naissance"]
dico["DateCondamnation"] = result["date_mort"]
return render_template("sauveteur.html",**dico)
2021-12-03 03:52:32 +01:00
else:
return error()
def expeditions(idexpedition):
dico = {}
result = lib.ex_sql(dbname,"SELECT * FROM expedition WHERE expedition_id=?",(idexpedition,))
if len(result) >= 1:
result = result[0]
dico["evenement"] = result["nom"]
dico["Date"] = result["date"]
print("dico")
return render_template("expedition.html",**dico)
2021-12-03 02:05:05 +01:00
else:
return error()
2021-12-03 01:08:46 +01:00
def sauveteur(idsauveteur):
dico = {}
dico["nom"] = "John"
dico["prenom"] = "Doe"
dico["nb_sauvetages"] = 666
dico["nb_sauves"] = 666
dico["gratifications"] = 1
dico["description"] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at odio cursus, rutrum odio non, dignissim risus. Pellentesque non varius ante. Vivamus scelerisque pulvinar mauris, nec imperdiet ante mattis et."
dico["expeditions"] = []
2021-12-03 02:05:05 +01:00
result = lib.ex_sql(dbname,"SELECT * FROM sauveteur WHERE personal_id=?",(idsauveteur,))
if len(result)==1:
result = result[0]
dico["nom"] = result["nom"]
dico["prenom"] = result["prenom"]
ids = lib.ex_sql(dbname,"SELECT * FROM mission WHERE personal_id=?",(idsauveteur,))
dico["nb_sauvetages"] = 0
dico["nb_sauves"] = 0
for id in ids:
nbs = lib.ex_sql(dbname,"SELECT * FROM sauvee WHERE expedition_id=?",(id["expedition_id"],))
dico["nb_sauvetages"]+=1
dico["nb_sauves"] += len(nbs)
2021-12-03 02:05:05 +01:00
return render_template("sauveteur.html",**dico)
else:
return error()
2021-12-03 03:28:53 +01:00
def search(texte):
sauveurs = lib.ex_sql(dbname,"SELECT * FROM sauveteur")
bateaux = lib.ex_sql(dbname,"SELECT * FROM bateau")
totals = sauveurs+bateaux
for i in totals:
i["score"] = 0
for key in i.keys():
if key!="score":
r = 1
if key=="nom":
r = 3
2021-12-03 04:45:58 +01:00
i["score"] += SequenceMatcher(None, texte.lower(), str(i[key]).lower()).ratio()*r
print(i["nom"],i["score"])
2021-12-03 03:28:53 +01:00
totals.sort(key=lambda x : x["score"])
totals.reverse()
totals = totals[:8]
results = []
for i in totals:
r = {}
if "ship_id" in i.keys():
r["lien"] = "/bateaux/"+str(i["ship_id"])
elif "personal_id" in i.keys():
r["lien"] = "/sauveteurs/"+str(i["personal_id"])
r["nom"] = i["nom"]
results.append(r)
return render_template("searchresults.html",liste=results)