File size: 1,776 Bytes
ea6d989
2303553
ea6d989
120ba68
3b87fd3
ea6d989
19cc9ea
 
ea6d989
 
3615528
ea6d989
19cc9ea
ea6d989
120ba68
3615528
120ba68
b953771
151409b
b783901
36e717b
19cc9ea
c399bc6
 
 
 
 
19cc9ea
b953771
19cc9ea
c399bc6
151409b
c399bc6
151409b
19cc9ea
6b2b610
 
 
 
c167925
 
36e717b
641c2e2
6330b0a
6b2b610
 
120ba68
53bbd44
c167925
6b2b610
 
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
import time
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()