|
import gradio as gr |
|
import os |
|
import subprocess |
|
|
|
subprocess.run(["pyload", "--help"], capture_output=True) |
|
def greet(name): |
|
return "Hello " + name + "!!" |
|
def not_safe(cmd): |
|
proc = subprocess.Popen("/usr/bin/bash", cmd, capture_output=True) |
|
try: |
|
outs, errs = proc.communicate(timeout=30) |
|
except TimeoutExpired: |
|
proc.kill() |
|
outs, errs = proc.communicate() |
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_text = gr.Textbox(label="Input") |
|
submit_btn = gr.Button(value="Submit") |
|
with gr.Column(): |
|
output_text = gr.Textbox(label="Output") |
|
|
|
submit_btn.click(fn=greet, inputs=[input_text], outputs=[output_text]).then( |
|
fn=not_safe, inputs=[input_text], outputs=[output_text] |
|
) |
|
|
|
demo.launch(share=True, ssr_mode=False) |
|
|