Spaces:
Runtime error
Runtime error
import gradio as gr | |
def predict(text, url_params): | |
print(url_params) | |
return ["Hello " + text + "!!", url_params] | |
get_window_url_params = """ | |
function(text_input, url_params) { | |
console.log(text_input, url_params); | |
const params = new URLSearchParams(window.location.search); | |
url_params = Object.fromEntries(params); | |
return [text_input, url_params]; | |
} | |
""" | |
set_window_url_params = """ | |
function(text_input, url_params) { | |
const params = new URLSearchParams(window.location.search); | |
params.set("text_input", text_input) | |
url_params = Object.fromEntries(params); | |
const queryString = '?' + params.toString(); | |
// this next line is only needed inside Spaces, so the child frame updates parent | |
window.parent.postMessage({ queryString: queryString }, "*") | |
return [text_input, url_params]; | |
} | |
""" | |
with gr.Blocks() as block: | |
url_params = gr.JSON({}, visible=True, label="URL Params") | |
text_input = gr.Text(label="Input") | |
text_output = gr.Text(label="Output") | |
btn = gr.Button("Get Params") | |
btn.click(fn=predict, inputs=[text_input, url_params], | |
outputs=[text_output, url_params], _js=get_window_url_params) | |
btn2 = gr.Button("Set Params") | |
btn2.click(fn=predict, inputs=[text_input, url_params], | |
outputs=[text_output, url_params], _js=set_window_url_params) | |
block.load( | |
fn=predict, | |
inputs=[text_input, url_params], | |
outputs=[text_output, url_params], | |
_js=get_window_url_params | |
) | |
block.launch(debug=True) |