Spaces:
Runtime error
Runtime error
| import sqlite3 | |
| import gradio as gr | |
| # Crear la base de datos si no existe | |
| def crear_base_de_datos(): | |
| conexion = sqlite3.connect("usuarios.db") | |
| cursor = conexion.cursor() | |
| cursor.execute(""" | |
| CREATE TABLE IF NOT EXISTS usuarios ( | |
| usuario TEXT PRIMARY KEY, | |
| contraseña TEXT NOT NULL | |
| ) | |
| """) | |
| conexion.commit() | |
| conexion.close() | |
| # Función para insertar un nuevo usuario | |
| def insertar_usuario(usuario, contraseña): | |
| try: | |
| conexion = sqlite3.connect("usuarios.db") | |
| cursor = conexion.cursor() | |
| cursor.execute("INSERT INTO usuarios (usuario, contraseña) VALUES (?, ?)", (usuario, contraseña)) | |
| conexion.commit() | |
| conexion.close() | |
| return f"Usuario '{usuario}' agregado correctamente." | |
| except sqlite3.IntegrityError: | |
| return f"El usuario '{usuario}' ya existe." | |
| # Función para mostrar todos los usuarios y contraseñas | |
| def mostrar_usuarios(): | |
| conexion = sqlite3.connect("usuarios.db") | |
| cursor = conexion.cursor() | |
| cursor.execute("SELECT * FROM usuarios") | |
| usuarios = cursor.fetchall() | |
| conexion.close() | |
| if usuarios: | |
| resultado = "Usuarios y contraseñas guardados:\n\n" | |
| resultado += "Usuario\t\tContraseña\n" | |
| resultado += "-" * 30 + "\n" | |
| for usuario, contraseña in usuarios: | |
| resultado += f"{usuario}\t\t{contraseña}\n" | |
| return resultado | |
| else: | |
| return "No hay usuarios registrados." | |
| # Interfaz de Gradio | |
| with gr.Blocks() as interfaz: | |
| gr.Markdown("# Sistema de Usuarios") | |
| # Sección para insertar usuarios | |
| gr.Markdown("### Agregar un nuevo usuario") | |
| usuario_input = gr.Textbox(label="Usuario") | |
| contraseña_input = gr.Textbox(label="Contraseña", type="password") | |
| insertar_btn = gr.Button("Agregar Usuario") | |
| insertar_output = gr.Textbox(label="Resultado de Inserción", lines=2) | |
| insertar_btn.click(insertar_usuario, inputs=[usuario_input, contraseña_input], outputs=insertar_output) | |
| # Sección para mostrar usuarios | |
| gr.Markdown("### Mostrar todos los usuarios") | |
| mostrar_btn = gr.Button("Mostrar Usuarios") | |
| mostrar_output = gr.Textbox(label="Usuarios Registrados", lines=10) | |
| mostrar_btn.click(mostrar_usuarios, inputs=[], outputs=mostrar_output) | |
| # Ejecutar la interfaz | |
| if __name__ == "__main__": | |
| crear_base_de_datos() # Crear la base de datos y la tabla si no existen | |
| interfaz.launch() | |