astro-blendDEV / app.py
Moibe's picture
Debit tokens capsule ready
7582583
raw
history blame
2.04 kB
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:
if username == u and password == p:
gr.State.usuario = username
#No temás hacer más cosas en el periodo de autenticación.
print("Primero que nada, el usuarrio es: ", gr.State.usuario)
capsule = encrypter.encripta(gr.State.usuario)
print("Y éste es el usuario encriptado: ", capsule)
decoded_capsule = capsule.decode("utf-8")
print("Capsula decoded: ", decoded_capsule)
gr.State.decoded_capsule = decoded_capsule
time.sleep(2)
#Primero que nada, checa cuantos tokens:
tokens = sulkuPypi.getTokens(decoded_capsule)
gr.State.tokens = tokens
print(f"Tienes: {tokens} tokens. ")
return True
return False
#Función principal
def perform(input1, input2):
tokens = gr.State.tokens
print("Estando en perform, la cantidad de tokens es: ", tokens)
time.sleep(3)
#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(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.
tokens = sulkuPypi.debitTokens(gr.State.decoded_capsule, "picswap")
print(f"Y ahora tienes: {tokens} tokens.")
return path
#Así para imagenes
demo = gr.Interface(
fn=perform, inputs=[gr.Image(), gr.Image()], outputs=[gr.Image()]
)
#demo.launch()
demo.launch(auth=authenticate)