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") | |