Spaces:
Runtime error
Runtime error
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) | |
#Revisaremos de nuevo: | |
gr.State.tokens = sulkuPypi.getTokens(encrypter.encripta(gr.State.usuario).decode("utf-8")) #Todo en una línea. | |
print("Ahora tienes: ", 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 | |
label = gr.Label("Hola!") | |
demo = gr.Interface( | |
fn=perform, | |
title="", | |
inputs=[gr.Image(), gr.Image()], | |
outputs=[gr.Image(),label], | |
css="footer {visibility: hidden}" | |
) | |
demo.launch(auth=authenticate) |