astro-blendDEV / auth.py
Moibe's picture
Data sent via API correctly
900e180
raw
history blame
2.07 kB
#from data import usuarios
import gradio as gr
import sulkuPypi
import time
import ast
def authenticate(username, password):
#Future: Obten el dict usuarios desde la API no localmente en ésta app.
cadena_usuarios = sulkuPypi.getData()
print("Esto es usuarios:")
print(cadena_usuarios)
time.sleep(5)
# Convertir la cadena en una lista de tuplas
print("Ahora voy a convertir la cadena de usuarios en una lista: ")
lista_usuarios = ast.literal_eval(cadena_usuarios)
print("La lista quedó así:")
print(lista_usuarios)
time.sleep(8)
# Convertir la lista de tuplas en un diccionario
print("Y finalmente la lista la convertiré en un diccionario...")
diccionario_usuarios = dict(lista_usuarios)
print("El diccionario quedó así:")
print(diccionario_usuarios)
time.sleep(3)
print("Y ésto es el type de usuarios: ", type(diccionario_usuarios))
time.sleep(3)
for u, p in lista_usuarios:
#Si el usuario y la contraseña son correctas...
if username == u and password == p:
#Agrego el nombre del usuario al estado general.
gr.State.usuario = username
#Bienvenida al usuario...
print("Welcome ", gr.State.usuario)
#Capsule es el usuario encriptado que enviarás a la API de Sulku.
#El encriptador ahora será parte de Sulku, porque es una herramienta que se requiere para...
#...las comunicaciones con Sulku.
capsule = sulkuPypi.encripta(gr.State.usuario).decode("utf-8") #decode es para quitarle el 'b
gr.State.capsule = capsule
#Checa cuantos tokens tiene ese usuario via la API de Sulku:
gr.State.tokens = sulkuPypi.getTokens(capsule)
print(f"Tienes: {gr.State.tokens} tokens. ")
creditos = gr.State.tokens
print(f"Ésta es la cantidad guardada en creditos: {creditos}")
return True
#Si no hubo coincidencia regresas un false.
return False