File size: 1,770 Bytes
900e180
1aee7f2
 
52ea231
900e180
1aee7f2
 
bcb5b28
 
900e180
889ad07
900e180
 
 
 
 
62282a3
889ad07
 
1aee7f2
 
 
 
 
 
62282a3
55a876c
 
 
1aee7f2
 
bcb5b28
 
52ea231
bcb5b28
1aee7f2
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#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()
    
    # 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)
    
        
    for u, p, f 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)
            if f == "new":
                print("Usuario Nuevo...")
            else:
                print("Usuario Normal...")

            #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