caissaa23 commited on
Commit
13eb5a8
·
verified ·
1 Parent(s): 33f8313

Update login.py

Browse files
Files changed (1) hide show
  1. login.py +25 -43
login.py CHANGED
@@ -1,6 +1,7 @@
1
  import gradio as gr
2
  import json
3
  import os
 
4
 
5
  USUARIOS_FILE = "usuarios.json"
6
  SESION_FILE = "sesion.json"
@@ -17,24 +18,13 @@ def guardar_usuarios(data):
17
  with open(USUARIOS_FILE, "w") as f:
18
  json.dump(data, f, indent=4)
19
 
20
- def cargar_sesion():
21
- if os.path.exists(SESION_FILE):
22
- with open(SESION_FILE, "r") as f:
23
- return json.load(f)
24
- return {}
25
-
26
- def guardar_sesion(usuario):
27
- with open(SESION_FILE, "w") as f:
28
- json.dump({"usuario": usuario}, f)
29
-
30
  def registrar_usuario(nombre, email, password):
31
  usuarios = cargar_usuarios()
32
  if email in usuarios:
33
  return "⚠️ Ya existe una cuenta con ese correo."
34
  usuarios[email] = {"nombre": nombre, "password": password}
35
  guardar_usuarios(usuarios)
36
- guardar_sesion(email) # inicia sesión automáticamente al registrarse
37
- return "✅ Registro exitoso. ¡Ahora estás logueado!"
38
 
39
  def iniciar_sesion(email, password):
40
  usuarios = cargar_usuarios()
@@ -42,13 +32,12 @@ def iniciar_sesion(email, password):
42
  return "❌ Usuario no encontrado."
43
  if usuarios[email]["password"] != password:
44
  return "🔐 Contraseña incorrecta."
45
- guardar_sesion(email)
46
- return f" Bienvenido de nuevo, {usuarios[email]['nombre']}!"
47
-
48
- def cerrar_sesion():
49
- if os.path.exists(SESION_FILE):
50
- os.remove(SESION_FILE)
51
- return "🔒 Has cerrado sesión."
52
 
53
  # ---------------- INTERFAZ GRADIO ---------------- #
54
 
@@ -56,32 +45,25 @@ with gr.Blocks(title="NutriBot - Inicio de Sesión") as login_app:
56
  gr.Markdown("""
57
  # 🥗 Bienvenido a **NutriBot Ultra** 🌈
58
  Tu asistente inteligente de bienestar físico y emocional.
59
- Controla tu alimentación, emociones, y rutinas saludables con ayuda de IA 💪
60
  ---
61
  """)
62
 
63
- sesion_actual = cargar_sesion()
64
- if sesion_actual:
65
- gr.Markdown(f"👋 Hola, **{sesion_actual['usuario']}**. Ya estás logueado.")
66
- btn_logout = gr.Button("Cerrar sesión")
67
- salida_logout = gr.Textbox(label="Estado")
68
- btn_logout.click(cerrar_sesion, outputs=salida_logout)
69
- # Aquí podrías redirigir directamente a app.py
70
- # import app
71
- else:
72
- with gr.Tab("🔑 Iniciar sesión"):
73
- email_login = gr.Textbox(label="Correo electrónico")
74
- pass_login = gr.Textbox(label="Contraseña", type="password")
75
- btn_login = gr.Button("Entrar")
76
- salida_login = gr.Textbox(label="Mensaje")
77
- btn_login.click(iniciar_sesion, inputs=[email_login, pass_login], outputs=salida_login)
78
 
79
- with gr.Tab("📝 Registrarse"):
80
- nombre_reg = gr.Textbox(label="Nombre completo")
81
- email_reg = gr.Textbox(label="Correo electrónico")
82
- pass_reg = gr.Textbox(label="Contraseña", type="password")
83
- btn_reg = gr.Button("Crear cuenta")
84
- salida_reg = gr.Textbox(label="Resultado del registro")
85
- btn_reg.click(registrar_usuario, inputs=[nombre_reg, email_reg, pass_reg], outputs=salida_reg)
86
 
87
- login_app.launch()
 
 
 
1
  import gradio as gr
2
  import json
3
  import os
4
+ import subprocess
5
 
6
  USUARIOS_FILE = "usuarios.json"
7
  SESION_FILE = "sesion.json"
 
18
  with open(USUARIOS_FILE, "w") as f:
19
  json.dump(data, f, indent=4)
20
 
 
 
 
 
 
 
 
 
 
 
21
  def registrar_usuario(nombre, email, password):
22
  usuarios = cargar_usuarios()
23
  if email in usuarios:
24
  return "⚠️ Ya existe una cuenta con ese correo."
25
  usuarios[email] = {"nombre": nombre, "password": password}
26
  guardar_usuarios(usuarios)
27
+ return "✅ Registro exitoso. ¡Ahora puedes iniciar sesión!"
 
28
 
29
  def iniciar_sesion(email, password):
30
  usuarios = cargar_usuarios()
 
32
  return "❌ Usuario no encontrado."
33
  if usuarios[email]["password"] != password:
34
  return "🔐 Contraseña incorrecta."
35
+ # Guardamos sesión
36
+ with open(SESION_FILE, "w") as f:
37
+ json.dump({"usuario": email}, f)
38
+ # Lanzar la app principal
39
+ subprocess.Popen(["python", "app_nutribot.py"])
40
+ return f"✅ Bienvenido de nuevo, {usuarios[email]['nombre']}! Abriendo NutriBot..."
 
41
 
42
  # ---------------- INTERFAZ GRADIO ---------------- #
43
 
 
45
  gr.Markdown("""
46
  # 🥗 Bienvenido a **NutriBot Ultra** 🌈
47
  Tu asistente inteligente de bienestar físico y emocional.
48
+ Controla tu alimentación, emociones y rutinas saludables con ayuda de IA 💪
49
  ---
50
  """)
51
 
52
+ with gr.Tab("🔑 Iniciar sesión"):
53
+ email_login = gr.Textbox(label="Correo electrónico")
54
+ pass_login = gr.Textbox(label="Contraseña", type="password")
55
+ btn_login = gr.Button("Entrar")
56
+ salida_login = gr.Textbox(label="Mensaje")
57
+ btn_login.click(iniciar_sesion, inputs=[email_login, pass_login], outputs=salida_login)
 
 
 
 
 
 
 
 
 
58
 
59
+ with gr.Tab("📝 Registrarse"):
60
+ nombre_reg = gr.Textbox(label="Nombre completo")
61
+ email_reg = gr.Textbox(label="Correo electrónico")
62
+ pass_reg = gr.Textbox(label="Contraseña", type="password")
63
+ btn_reg = gr.Button("Crear cuenta")
64
+ salida_reg = gr.Textbox(label="Resultado del registro")
65
+ btn_reg.click(registrar_usuario, inputs=[nombre_reg, email_reg, pass_reg], outputs=salida_reg)
66
 
67
+ # Lanzar la app de login
68
+ if __name__ == "__main__":
69
+ login_app.launch()