Spaces:
Running
on
Zero
Running
on
Zero
File size: 2,020 Bytes
21c87da 44c7f77 5eb89c4 e6c2b26 5c2cbe3 44c7f77 e6c2b26 381bbf4 5c2cbe3 21c87da 5eb89c4 21c87da e6c2b26 21c87da 381bbf4 21c87da 381bbf4 21c87da e6c2b26 21c87da 3bc2cfb 21c87da e6c2b26 5eb89c4 44c7f77 21c87da 44c7f77 |
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
import gradio as gr
from app.gradio_config import css, theme
from app.tabs.submit import submit, custom_template_yaml
from app.tabs.examples_tab import examples
from app.tabs.templating import (
templating_block,
TEMPLATE_IMAGE_FOLDER,
TEMPLATE_YAML_FOLDER,
template_output_yaml_code,
)
from app.utils.md_helper import load_markdown
gr.set_static_paths(paths=[TEMPLATE_IMAGE_FOLDER])
gr.set_static_paths(paths=[TEMPLATE_YAML_FOLDER])
with gr.Blocks(title="HTRflow", theme=theme, css=css) as demo:
with gr.Row():
with gr.Column(scale=1):
pass
with gr.Column(scale=2):
gr.Markdown(load_markdown(None, "main_title"))
with gr.Column(scale=1):
gr.Markdown(load_markdown(None, "main_sub_title"))
with gr.Tabs(elem_classes="top-navbar") as navbar:
with gr.Tab(label="Templating") as tab_templating:
templating_block.render()
with gr.Tab(label="Submit Job") as tab_submit:
submit.render()
with gr.Tab(label="Output & Visualize") as tab_examples:
examples.render()
@demo.load(
inputs=[template_output_yaml_code],
outputs=[template_output_yaml_code],
)
def inital_yaml_code(template_output_yaml_code):
return template_output_yaml_code
def sync_yaml_state(input_value, state_value):
"""Synchronize the YAML state if there is a mismatch."""
return input_value if input_value != state_value else gr.skip()
tab_submit.select(
inputs=[template_output_yaml_code, custom_template_yaml],
outputs=[custom_template_yaml],
fn=sync_yaml_state,
)
tab_templating.select(
inputs=[custom_template_yaml, template_output_yaml_code],
outputs=[template_output_yaml_code],
fn=sync_yaml_state,
)
demo.queue()
if __name__ == "__main__":
demo.launch(
server_name="0.0.0.0",
server_port=7862,
enable_monitoring=False,
show_error=True,
)
|