import gradio as gr
import time

# simple test!
def Op1(val):
    return f"PowershaiTest:Ok:{val}"

# yield test
def Op2(MaxNums, sleep = 0):
    
    yield "--start--"
    
    for num in range(1, int(MaxNums) + 1):
        yield f"{num}"
        time.sleep(sleep / 1000.0)
    
    yield "--end--"

with gr.Blocks() as demo:
       btn  = gr.Button("Op1");
       btn2 = gr.Button("Op2");
       
       n = gr.Number(label="MaxNums", value=10)
       s = gr.Number(label="sleep", value=0)
       t = gr.Text(label="Texto qualquer")
       
       result = gr.Text();
       
       btn.click( Op1, [t], [result] )
       btn2.click( Op2, [n,s], [result] )
       
       
if __name__ == "__main__":
    demo.launch(show_api=True)