import gradio as gr # --- Init params --- def init_params(text, request: gr.Request): youtube_link = "" password_text = "" block_ready_flag = "READY" admin = gr.update(visible=True) return admin, password_text, youtube_link, block_ready_flag HEAD = """ """ with gr.Blocks(theme=gr.themes.Base(primary_hue=gr.themes.colors.orange, secondary_hue=gr.themes.colors.amber, text_size = gr.themes.sizes.text_lg), head=HEAD) as demo: with gr.Row() as admin: password = gr.Textbox(label="Password", type="password", elem_id="password_input", visible=True) youtube_link = gr.Textbox(label="Enter YouTube Link", elem_id="youtube_link_input", visible=True) video_id = gr.Textbox(label="video_id", visible=True) # file_upload = gr.File(label="Upload your CSV or Word file", visible=False) # web_link = gr.Textbox(label="Enter Web Page Link", visible=False) user_data = gr.Textbox(label="User Data", elem_id="user_data_input", visible=True) block_ready_flag = gr.Textbox(label="load_ready_flag", elem_id="block_ready_flag", value="LOADING", visible=True) youtube_link_btn = gr.Button("Submit_YouTube_Link", elem_id="youtube_link_btn", visible=True) with gr.Row() as data_state: content_subject_state = gr.State() # 使用 gr.State 存储 content_subject # init_params init_outputs = [ admin, password, youtube_link, block_ready_flag, ] demo.load( init_params, inputs =[youtube_link], outputs = init_outputs ) block_ready_flag.visible = False demo.launch(allowed_paths=["videos"], server_name="0.0.0.0", server_port=7860)