Moibe commited on
Commit
5594d1b
1 Parent(s): 88f204e
Files changed (1) hide show
  1. app.py +66 -0
app.py CHANGED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import sulkuPypi
3
+ from funciones import mass
4
+ from data import usuarios
5
+ import encrypter
6
+ import time
7
+
8
+ #Funciones adicionales
9
+ def authenticate(username, password):
10
+
11
+ for u, p in usuarios:
12
+ #Si el usuario y la contraseña son correctas...
13
+ if username == u and password == p:
14
+ #Agrego el nombre del usuario al estado general.
15
+ gr.State.usuario = username
16
+ #Bienvenida al usuario...
17
+ print("Welcome ", gr.State.usuario)
18
+
19
+ #Capsule es el usuario encriptado que enviarás a la API de Sulku.
20
+ capsule = encrypter.encripta(gr.State.usuario).decode("utf-8") #decode es para quitarle el 'b
21
+ gr.State.capsule = capsule
22
+
23
+ #Checa cuantos tokens tiene ese usuario via la API de Sulku:
24
+ gr.State.tokens = sulkuPypi.getTokens(capsule)
25
+
26
+ print(f"Tienes: {gr.State.tokens} tokens. ")
27
+
28
+ return True
29
+ #Si no hubo coincidencia regresas un false.
30
+ return False
31
+
32
+ #Función principal
33
+ def perform(input1, input2):
34
+
35
+ print("Estando en perform182, la cantidad de tokens es: ", gr.State.tokens)
36
+ #Revisaremos de nuevo:
37
+ gr.State.tokens = sulkuPypi.getTokens(encrypter.encripta(gr.State.usuario).decode("utf-8")) #Todo en una línea.
38
+ print("Ahora tienes: ", gr.State.tokens)
39
+
40
+ #Después autoriza.
41
+ #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.
42
+ autorizacion = sulkuPypi.authorize(gr.State.tokens, 'picswap')
43
+ print("La autorización es: ", autorizacion)
44
+
45
+ #Después ejecuta la masa.
46
+ if autorizacion is True:
47
+
48
+ path = mass(input1,input2)
49
+
50
+ else:
51
+ print("No tienes suficientes tokens...")
52
+ return "No tienes suficientes tokens"
53
+
54
+ print("Después de mass imprimo ésto.")
55
+
56
+ #Y finalmente debita los tokens.
57
+ gr.State.tokens = sulkuPypi.debitTokens(gr.State.capsule, "picswap")
58
+ print(f"Y ahora tienes: {gr.State.tokens} tokens.")
59
+
60
+ return path
61
+
62
+
63
+ demo = gr.Interface(
64
+ fn=perform, inputs=[gr.Image(), gr.Image()], outputs=[gr.Image()]
65
+ )
66
+ demo.launch(auth=authenticate)