digiwild / app /circumstances /circumstances.py
vancauwe's picture
feat: simple physical and behavior definitions
869adb6
raw
history blame
3.79 kB
import gradio as gr
import os
from dotenv import load_dotenv
from utils.utils_visible import set_visible
from validation_submission.utils_individual import add_data_to_individual
load_dotenv()
PATH = os.getcwd() + "/"
PATH_ASSETS = os.getenv('PATH_ASSETS')
LOGO_PATH = PATH + PATH_ASSETS + "logos"
CAUSE_COL_WIDTH = "50px"
def show_circumstances(choice, individual):
visible = set_visible(choice)
individual = add_data_to_individual(
"circumstance_radio",
choice, individual)
button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2 = create_circumstances(visible)
return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2, individual
def create_circumstances(visible):
button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause = create_circumstances_buttons(visible)
dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2 = create_circumstances_dropdown(visible)
return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2
def create_circumstances_buttons(visible):
with gr.Row() as image_row:
with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
button_collision = gr.Button("Collision with a means of transport",
visible=visible,
icon=LOGO_PATH + '/van.png',
elem_id="buttons-conditions")
with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
button_deliberate_destruction = gr.Button("Destruction / Deliberatly removed",
icon=LOGO_PATH + '/destruction.png',
visible=visible,
elem_id="buttons-conditions")
with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
button_indirect_destruction = gr.Button("Indirect destruction",
icon=LOGO_PATH + '/indirect.png',
visible=visible,
elem_id="buttons-conditions")
with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
button_natural_cause = gr.Button("Natural cause",
icon=LOGO_PATH + '/natural.png',
visible=visible,
elem_id="buttons-conditions")
return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause
def create_circumstances_dropdown(visible):
with gr.Row() as dropdown_row:
dropdown = gr.Dropdown(choices=[],
label="Choices will appear here...",
visible=visible, interactive=False, elem_id="dropdown-conditions")
openfield_level2 = gr.Textbox(visible=False, elem_id="dropdown-conditions")
dropdown_level2 = gr.Dropdown(choices=[], visible=False, elem_id="dropdown-conditions")
dropdown_extra_level2 = gr.Dropdown(choices=[], visible=False, elem_id="dropdown-conditions")
return dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2