File size: 2,426 Bytes
1f5f680
85e6889
3250ceb
6b8aca6
e242c8d
 
7539545
9dd92aa
 
e242c8d
9dd92aa
f4d528b
9dd92aa
f4d528b
6ef4a2a
f4d528b
 
7dcb42d
f4d528b
 
 
 
 
 
 
 
74c600a
9dd92aa
f4d528b
9dd92aa
 
 
77ea5c9
f4d528b
04b9262
f4d528b
3250ceb
1217648
f4d528b
1217648
 
3250ceb
9c755d7
 
 
 
 
 
 
 
3250ceb
3bca149
3250ceb
909fb99
f4d528b
7539545
cb05df4
 
04b9262
8100b9d
 
8c8ae7d
 
 
e8aad27
8100b9d
 
04b9262
2d1534b
9dd92aa
d32dab0
2d1534b
 
 
 
d32dab0
 
2d1534b
 
d32dab0
9dd92aa
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import gradio as gr
import sulkuPypi
from funciones import mass
from data import usuarios
import encrypter
import time

#Funciones adicionales
def authenticate(username, password):
    
    for u, p in 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.
            capsule = encrypter.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. ")
            
            return True
    #Si no hubo coincidencia regresas un false.    
    return False

#Función principal
def perform(input1, input2):
    
    print("Estando en perform182, la cantidad de tokens es: ", gr.State.tokens)
    
    #Después autoriza.
    #Si está autorizada puede ejecutar la tarea, ésta lógica si está a cargo aquí, por parte de la app y su desarrollador, no de Sulku.
    autorizacion = sulkuPypi.authorize(gr.State.tokens, 'picswap')
    print("La autorización es: ", autorizacion)

    #Después ejecuta la masa.
    if autorizacion is True: 
    
        path = mass(input1,input2)

    else:
        print("No tienes suficientes tokens...")
        return "No tienes suficientes tokens" 

    print("Después de mass imprimo ésto.")

    #Y finalmente debita los tokens.
    gr.State.tokens = sulkuPypi.debitTokens(gr.State.capsule, "picswap")
    print(f"Y ahora tienes: {gr.State.tokens} tokens.")

    return path

def bienvenida():
    print("Hola, bienvenido a mi app3.")
    print("Esto es la capsula: ", gr.State.capsule)
    print("Esto es tokens: ", gr.State.tokens)

    print("Y aquí deberíamos recalcular si faltan...")
    gr.State.tokens = sulkuPypi.getTokens(gr.State.capsule)
    
    


#demo.launch()
with gr.Blocks() as demo:

    demo = gr.Interface(
    fn=perform, inputs=[gr.Image(), gr.Image()], outputs=[gr.Image()]
    )
    
    demo.load(bienvenida)
    #Así para imagenes


demo.launch(auth=authenticate)