digiwild / app /circumstances /circumstances.py
vancauwe's picture
chore: format code and update readme
21dae66
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