Spaces:
Sleeping
Sleeping
| import sqlite3 | |
| import streamlit_authenticator as stauth | |
| import os | |
| def add_user(username, name, password): | |
| """Adiciona um novo usuário ao banco de dados""" | |
| db_path = os.getenv('DB_PATH', 'users.db') | |
| hashed_password = stauth.Hasher([password]).generate()[0] | |
| conn = sqlite3.connect(db_path) | |
| cursor = conn.cursor() | |
| try: | |
| cursor.execute( | |
| 'INSERT INTO users (username, name, password) VALUES (?, ?, ?)', | |
| (username, name, hashed_password) | |
| ) | |
| conn.commit() | |
| print(f"Usuário {username} adicionado com sucesso!") | |
| except sqlite3.IntegrityError: | |
| print(f"Erro: Usuário {username} já existe.") | |
| finally: | |
| conn.close() | |
| def remove_user(username): | |
| """Remove um usuário do banco de dados""" | |
| db_path = os.getenv('DB_PATH', 'users.db') | |
| conn = sqlite3.connect(db_path) | |
| cursor = conn.cursor() | |
| cursor.execute('DELETE FROM users WHERE username = ?', (username,)) | |
| conn.commit() | |
| print(f"Usuário {username} removido com sucesso!" if cursor.rowcount > 0 else f"Usuário {username} não encontrado.") | |
| conn.close() | |
| def list_users(): | |
| """Lista todos os usuários no banco de dados""" | |
| db_path = os.getenv('DB_PATH', 'users.db') | |
| conn = sqlite3.connect(db_path) | |
| cursor = conn.cursor() | |
| cursor.execute('SELECT username, name FROM users') | |
| users = cursor.fetchall() | |
| conn.close() | |
| for username, name in users: | |
| print(f"Username: {username}, Nome: {name}") | |
| if __name__ == "__main__": | |
| # Inicializar o banco de dados | |
| conn = sqlite3.connect(os.getenv('DB_PATH', 'users.db')) | |
| cursor = conn.cursor() | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS users ( | |
| username TEXT PRIMARY KEY, | |
| name TEXT NOT NULL, | |
| password TEXT NOT NULL | |
| ) | |
| ''') | |
| conn.commit() | |
| conn.close() | |
| # Exemplos de uso | |
| add_user("cliente2", "Cliente Dois", "senha_forte_456") | |
| list_users() | |
| # remove_user("cliente2") | |