Update app.py
Browse files
app.py
CHANGED
|
@@ -19,20 +19,18 @@ for k, v in {
|
|
| 19 |
# -------------------- MODELO --------------------
|
| 20 |
modelo = cargar_modelo_ligero()
|
| 21 |
|
| 22 |
-
#
|
| 23 |
calorias_promedio = {
|
| 24 |
"pizza": 285, "hamburger": 354, "apple": 95, "banana": 105,
|
| 25 |
"salad": 150, "pasta": 350, "rice": 200, "ice cream": 210,
|
| 26 |
"donut": 195, "fish": 206, "chicken": 239, "broccoli": 55
|
| 27 |
}
|
| 28 |
|
| 29 |
-
# Actividades físicas
|
| 30 |
actividades = {
|
| 31 |
"Correr": 700, "Caminar": 250, "Fútbol": 600,
|
| 32 |
"Natación": 550, "Básquetbol": 500, "Voleibol": 400, "Yoga": 200,
|
| 33 |
}
|
| 34 |
|
| 35 |
-
# Nutriólogos
|
| 36 |
nutriologos = [
|
| 37 |
{"nombre": "Dra. Ana López", "pais": "México", "estado": "Sonora", "ciudad": "Hermosillo",
|
| 38 |
"especialidad": "Nutrición deportiva", "direccion": "Av. Universidad 200", "contacto": "Instagram: @dra.analpz"},
|
|
@@ -40,10 +38,14 @@ nutriologos = [
|
|
| 40 |
"especialidad": "Control de peso", "direccion": "Centro NutriVida, Av. Pacífico 300", "contacto": "Tel: +52 55 1234 5678"},
|
| 41 |
{"nombre": "Dra. Camila Torres", "pais": "Colombia", "estado": "Antioquia", "ciudad": "Medellín",
|
| 42 |
"especialidad": "Nutrición infantil", "direccion": "Cra 40 #23", "contacto": "Email: camilatorresnutri@gmail.com"},
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
]
|
| 48 |
|
| 49 |
# -------------------- FUNCIONES --------------------
|
|
@@ -100,14 +102,6 @@ def coach_emocional(emocion):
|
|
| 100 |
guardar_registro(estado)
|
| 101 |
return sugerencias.get(emocion.lower(), "💬 Cuéntame más sobre cómo te sientes.")
|
| 102 |
|
| 103 |
-
misiones = [
|
| 104 |
-
"🥤 Bebe 8 vasos de agua.",
|
| 105 |
-
"🍎 Come 3 frutas distintas.",
|
| 106 |
-
"🚶 Camina 20 minutos.",
|
| 107 |
-
"🌈 Come 4 colores de comida diferentes.",
|
| 108 |
-
"🧘 Haz 10 minutos de respiración o yoga."
|
| 109 |
-
]
|
| 110 |
-
|
| 111 |
def generar_mision():
|
| 112 |
mision = random.choice(misiones)
|
| 113 |
estado["mision_actual"] = mision
|
|
@@ -132,7 +126,6 @@ def buscar_nutriologo(pais, estado_, ciudad):
|
|
| 132 |
|
| 133 |
# -------------------- INTERFAZ --------------------
|
| 134 |
with gr.Blocks() as demo:
|
| 135 |
-
# Bloques para login/registro y app principal
|
| 136 |
login_block = gr.Column(visible=True)
|
| 137 |
app_block = gr.Column(visible=False)
|
| 138 |
|
|
@@ -156,16 +149,14 @@ with gr.Blocks() as demo:
|
|
| 156 |
def login_click(email, password):
|
| 157 |
msg = iniciar_sesion(email, password)
|
| 158 |
if "✅" in msg:
|
| 159 |
-
|
| 160 |
-
json.dump({"usuario": email}, f)
|
| 161 |
return msg, gr.update(visible=False), gr.update(visible=True)
|
| 162 |
return msg, gr.update(visible=True), gr.update(visible=False)
|
| 163 |
|
| 164 |
def reg_click(nombre, email, password):
|
| 165 |
msg = registrar_usuario(nombre, email, password)
|
| 166 |
if "✅" in msg:
|
| 167 |
-
|
| 168 |
-
json.dump({"usuario": email}, f)
|
| 169 |
return msg, gr.update(visible=False), gr.update(visible=True)
|
| 170 |
return msg, gr.update(visible=True), gr.update(visible=False)
|
| 171 |
|
|
@@ -229,3 +220,4 @@ with gr.Blocks() as demo:
|
|
| 229 |
btn_chat.click(chatbot_nuti, inputs=pregunta, outputs=salida_chat)
|
| 230 |
|
| 231 |
demo.launch()
|
|
|
|
|
|
| 19 |
# -------------------- MODELO --------------------
|
| 20 |
modelo = cargar_modelo_ligero()
|
| 21 |
|
| 22 |
+
# -------------------- DATOS --------------------
|
| 23 |
calorias_promedio = {
|
| 24 |
"pizza": 285, "hamburger": 354, "apple": 95, "banana": 105,
|
| 25 |
"salad": 150, "pasta": 350, "rice": 200, "ice cream": 210,
|
| 26 |
"donut": 195, "fish": 206, "chicken": 239, "broccoli": 55
|
| 27 |
}
|
| 28 |
|
|
|
|
| 29 |
actividades = {
|
| 30 |
"Correr": 700, "Caminar": 250, "Fútbol": 600,
|
| 31 |
"Natación": 550, "Básquetbol": 500, "Voleibol": 400, "Yoga": 200,
|
| 32 |
}
|
| 33 |
|
|
|
|
| 34 |
nutriologos = [
|
| 35 |
{"nombre": "Dra. Ana López", "pais": "México", "estado": "Sonora", "ciudad": "Hermosillo",
|
| 36 |
"especialidad": "Nutrición deportiva", "direccion": "Av. Universidad 200", "contacto": "Instagram: @dra.analpz"},
|
|
|
|
| 38 |
"especialidad": "Control de peso", "direccion": "Centro NutriVida, Av. Pacífico 300", "contacto": "Tel: +52 55 1234 5678"},
|
| 39 |
{"nombre": "Dra. Camila Torres", "pais": "Colombia", "estado": "Antioquia", "ciudad": "Medellín",
|
| 40 |
"especialidad": "Nutrición infantil", "direccion": "Cra 40 #23", "contacto": "Email: camilatorresnutri@gmail.com"},
|
| 41 |
+
]
|
| 42 |
+
|
| 43 |
+
misiones = [
|
| 44 |
+
"🥤 Bebe 8 vasos de agua.",
|
| 45 |
+
"🍎 Come 3 frutas distintas.",
|
| 46 |
+
"🚶 Camina 20 minutos.",
|
| 47 |
+
"🌈 Come 4 colores de comida diferentes.",
|
| 48 |
+
"🧘 Haz 10 minutos de respiración o yoga."
|
| 49 |
]
|
| 50 |
|
| 51 |
# -------------------- FUNCIONES --------------------
|
|
|
|
| 102 |
guardar_registro(estado)
|
| 103 |
return sugerencias.get(emocion.lower(), "💬 Cuéntame más sobre cómo te sientes.")
|
| 104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
def generar_mision():
|
| 106 |
mision = random.choice(misiones)
|
| 107 |
estado["mision_actual"] = mision
|
|
|
|
| 126 |
|
| 127 |
# -------------------- INTERFAZ --------------------
|
| 128 |
with gr.Blocks() as demo:
|
|
|
|
| 129 |
login_block = gr.Column(visible=True)
|
| 130 |
app_block = gr.Column(visible=False)
|
| 131 |
|
|
|
|
| 149 |
def login_click(email, password):
|
| 150 |
msg = iniciar_sesion(email, password)
|
| 151 |
if "✅" in msg:
|
| 152 |
+
usuario_actual = email
|
|
|
|
| 153 |
return msg, gr.update(visible=False), gr.update(visible=True)
|
| 154 |
return msg, gr.update(visible=True), gr.update(visible=False)
|
| 155 |
|
| 156 |
def reg_click(nombre, email, password):
|
| 157 |
msg = registrar_usuario(nombre, email, password)
|
| 158 |
if "✅" in msg:
|
| 159 |
+
usuario_actual = email
|
|
|
|
| 160 |
return msg, gr.update(visible=False), gr.update(visible=True)
|
| 161 |
return msg, gr.update(visible=True), gr.update(visible=False)
|
| 162 |
|
|
|
|
| 220 |
btn_chat.click(chatbot_nuti, inputs=pregunta, outputs=salida_chat)
|
| 221 |
|
| 222 |
demo.launch()
|
| 223 |
+
|