-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
76 lines (71 loc) · 2.79 KB
/
app.py
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
70
71
72
73
74
75
76
from flask import Flask, render_template, abort, request
import json
import os
app = Flask(__name__)
@app.route('/')
def inicio():
return render_template("inicio.html")
@app.route('/recetas', methods=["POST","GET"])
def recetas():
with open("Data_Recipes.json") as fich:
datos=json.load(fich)
autores=[]
for dato in datos:
if dato["author"] not in autores:
autores.append(dato["author"])
if request.method=="GET":
recetas=1
return render_template("recetas.html",recetas=recetas,autores=autores)
else:
receta=request.form.get("receta")
seleccionado=request.form.get("autores")
recetas=[]
for item in datos:
if receta.lower() in item["name"].lower() and seleccionado in item["author"]:
if item["name"] not in recetas:
receta1={"name":item["name"],"autor":item["author"],"detalles":item["_id"]["$oid"]}
recetas.append(receta1)
if len(recetas) == 0:
recetas=0
autores=[]
for dato in datos:
if dato["author"] not in autores:
autores.append(dato["author"])
return render_template("recetas.html",receta=receta,recetas=recetas,autores=autores,seleccionado=seleccionado)
@app.route('/listarecetas', methods=["POST"])
def listarecetas():
receta=request.form.get("receta")
with open("Data_Recipes.json") as fich:
datos=json.load(fich)
recetas=[]
for item in datos:
if receta.lower() in item["name"].lower():
if item["name"] not in recetas:
receta1={"name":item["name"],"autor":item["author"],"detalles":item["_id"]["$oid"]}
recetas.append(receta1)
if len(recetas) == 0:
recetas=0
return render_template("listarecetas.html",recetas=recetas)
@app.route('/receta')
def receta():
id=request.args.get("id")
with open("Data_Recipes.json") as fich:
datos=json.load(fich)
recetas={}
ingredientes=[]
pasos=[]
for receta in datos:
if receta["_id"]["$oid"] == id:
recetas={"name":receta["name"],"autor":receta["author"],"desc":receta["description"],"prep":receta["preparation_time"],"cocina":receta["cook_time"],"comensales":receta["servings"]}
for ingrediente in receta["ingredients"]:
ing=ingrediente["qty"]+" "+ingrediente["name"]
ingredientes.append(ing)
if len(receta["instructions"]) > 1:
for paso in receta["instructions"]:
pasos.append(paso["detail"])
else:
pasos=0
return render_template("receta.html",recetas=recetas,ingredientes=ingredientes,pasos=pasos)
return abort(404)
port=os.environ["PORT"]
app.run("0.0.0.0",int(port),debug=False)