Spaces:
Sleeping
Sleeping
File size: 4,408 Bytes
5594d1b b455efa 5594d1b b455efa 3d87819 5594d1b 3d87819 1f42b26 7868db5 5594d1b b1cc83b 00c6c3d 0a3f74c 5594d1b 00c6c3d 3d87819 0a3f74c 00c6c3d 0a3f74c 22bc36d 9234f24 22bc36d 9234f24 b455efa 22bc36d 9234f24 7868db5 5594d1b ed0bd90 b455efa d547b1f 5e3005f 0fe10a1 429bfd1 cbe8bb8 55c6abd cbe8bb8 d3c015a cbe8bb8 d3c015a b455efa d3c015a cbe8bb8 b455efa cbd39af b455efa 82e4df8 b455efa cbd39af d3c015a b455efa 5e3005f b455efa 3e913fa |
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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
import gradio as gr
import sulkuPypi
from funciones import mass
from data import usuarios
import encrypter
import time
import nycklar.nodes
#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)
info_window = "Welcome Usuario"
#Después ejecuta la masa.
if autorizacion is True:
path = mass(input1,input2)
else:
print("No tienes suficientes tokens...")
info_window = "Out of tokens..."
path = 'no-result.png'
return "Desde funcion", path, info_window, btn_buy
print(f"El path final fue {path}, si es no-result, no debites y controla la info window.")
print(f"El type de path es: ", type(path))
print("Convirtiendo path a string...")
path_string = str(path)
print("Path_string = ", path_string)
if "no-result" not in path_string:
#Si el path NO tiene no-result, todo funcionó bien, por lo tanto debita.
print("Se obtuvo un resultado, debitaremos.")
#Y finalmente debita los tokens.
gr.State.tokens = sulkuPypi.debitTokens(gr.State.capsule, "picswap")
print(f"Y ahora tienes: {gr.State.tokens} tokens.")
info_window = "Image ready!"
else:
print("No se detectó un rostro...")
info_window = "No face in source path detected."
print(f"Y ahora tienes: {gr.State.tokens} tokens.")
lbl_credits = "Nuevo texto..."
#No se hizo un proceso, por lo tanto no debitaremos.
#En el futuro, como regla de negocio, podría cambiar y que si debitemos.
return "Desde funcion", path, info_window, btn_buy
# print("Estoy en las declaraciones...")
# gr.State.usuario = "briggsboardman"
# #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
# gr.State.tokens = 20
lbl_msg = gr.Label("AI Engine ready...")
btn_buy = gr.Button("Buy More", visible=True, size='lg')
result_image = gr.Image()
textbox = gr.Textbox("Nuevo textbox", interactive=False)
def cambio():
print("Ejecutando change...")
nuevo_markdown = """
# Hello World! {variable}
Start typing below to see the output.
"""
return nuevo_markdown
with gr.Blocks(css="footer {visibility: hidden}") as main:
with gr.Row():
lbl_credits = gr.Label()
nueva_label = gr.Label("Credits")
mrk_title = gr.Markdown(
"""
# Hello World! {variable}
Start typing below to see the output.
""")
#lbl_msg.change(fn=cambio, lbl_msg)
btn_buy.click(fn=cambio, outputs=mrk_title)
with gr.Row():
demo = gr.Interface(
fn=perform,
title="",
inputs=[gr.Image(), gr.Image()],
outputs=[textbox, result_image,lbl_msg, btn_buy],
)
main.launch(auth=authenticate)
#demo.launch() |