-
Notifications
You must be signed in to change notification settings - Fork 0
/
aplicacion.py
50 lines (40 loc) · 1.67 KB
/
aplicacion.py
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
import avaimet
import gradio as gr
def getAccess(userfile):
#Genera conexión inicial.
sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde está guardados los tokens.
caja = avaimet.obtenCaja(userfile)
#Obtiene los tokens que hay en esa caja.
tokens = avaimet.obtenTokens(sftpListo, caja)
#Cierra la conexión.
avaimet.cierraConexion(sshListo, sftpListo)
return tokens
def debitTokens(userfile, work):
print(f"Task received : {work}, type: {type(work)} ...")
#Genera conexión inicial.
sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde está guardados los tokens.
caja = avaimet.obtenCaja(userfile)
#Obtiene los tokens que hay en esa caja.
tokens = avaimet.obtenTokens(sftpListo, caja)
#Aplica las reglas de ésta app para debitar lo correspondiente.
resultado_debitado = avaimet.restaToken(sftpListo, caja, tokens, work)
#Cierra la conexión.
avaimet.cierraConexion(sshListo, sftpListo)
return resultado_debitado
#Interfaz Gráfica
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
text_input = gr.Textbox()
work_catalogue = gr.Dropdown(
["picswap", "dog", "bird"], label="Catalogo", info="Will add more works later!"
)
access_btn = gr.Button(value="Submit")
debit_btn = gr.Button(value="Debit")
with gr.Column():
text_output = gr.Textbox()
access_btn.click(fn=getAccess, inputs=text_input, outputs=text_output, api_name="getTokens")
debit_btn.click(fn=debitTokens, inputs=[text_input, work_catalogue], outputs=text_output, api_name="debitTokens")
demo.launch()