Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 4,440 Bytes
20bdfba |
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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
import gradio as gr
from utils.utils_config import get_custom_config_dropdowns
from utils.utils_checkbox import create_checkbox
from validation_submission.add_json import add_data_tmp
#---------------------------------------------------------
def get_body_parts():
dropdown_config = get_custom_config_dropdowns("config_checkbox_physical.json")
return list(dropdown_config.keys())
def retrieve_config_options(label, dropdown_config):
options = list(dropdown_config[label].keys())
options = [option.title() for option in options]
return options
def get_options_description(value):
dropdown_config = get_custom_config_dropdowns("config_checkbox_physical.json")
# get options
options_common = retrieve_config_options("Common", dropdown_config)
options_for_value = retrieve_config_options(value, dropdown_config)
options_common.extend(options_for_value)
options = options_common
# get descriptions
descriptions = []
for key, sub_dict in dropdown_config.items():
if key==value or key=="Common":
for _, option_dict in sub_dict.items():
for description_tag, description in option_dict.items():
if "Description"==description_tag:
descriptions.append(description)
return options, descriptions
#---------------------------------------------------------
def create_checkbox_beak(section, label_checkbox, visible):
body_part="Beak"
options, descriptions = get_options_description(body_part)
return create_checkbox(body_part, section, label_checkbox, visible, options, descriptions)
def create_checkbox_body(section, label_checkbox, visible):
body_part="Body"
options, descriptions = get_options_description(body_part)
return create_checkbox(body_part, section, label_checkbox, visible, options, descriptions)
def create_checkbox_feathers(section, label_checkbox, visible):
body_part="Feathers/Wings/Tail"
options, descriptions = get_options_description(body_part)
return create_checkbox(body_part, section, label_checkbox, visible, options, descriptions)
def create_checkbox_head(section, label_checkbox, visible):
body_part="Head incl. eyes"
options, descriptions = get_options_description(body_part)
return create_checkbox(body_part, section, label_checkbox, visible, options, descriptions)
def create_checkbox_legs(section, label_checkbox, visible):
body_part="Legs"
options, descriptions = get_options_description(body_part)
return create_checkbox(body_part, section, label_checkbox, visible, options, descriptions)
#---------------------------------------------------------
def process_body_parts(section, matched_box):
#take all except "Common"
body_parts = get_body_parts()
body_parts = body_parts[1:]
label_checkbox = "Physical changes to "
visibles = [True if matched_box==body_part else False for body_part in body_parts ]
checkbox_beak, text_beak = create_checkbox_beak(section, label_checkbox, visibles[0])
checkbox_body, text_body = create_checkbox_body(section, label_checkbox, visibles[1])
checkbox_feathers, text_feathers = create_checkbox_feathers(section, label_checkbox, visibles[2])
checkbox_head, text_head = create_checkbox_head(section, label_checkbox, visibles[3])
checkbox_legs, text_legs = create_checkbox_legs(section, label_checkbox, visibles[4])
return checkbox_beak, text_beak, checkbox_body, text_body, checkbox_feathers, text_feathers, checkbox_head, text_head, checkbox_legs, text_legs
#---------------------------------------------------------
def on_select_body_part(body_part_checkbox, body_part):
add_data_tmp("wounded_dead", "physical_type_"+body_part.lower(), body_part.lower())
body_part_checkbox = [body_part_check.lower() for body_part_check in body_part_checkbox]
add_data_tmp("wounded_dead", "physical_anomaly_"+body_part.lower(), body_part_checkbox)
#---------------------------------------------------------
def hide_physical():
checkbox_beak, text_beak, checkbox_body, text_body, checkbox_feathers, text_feathers, checkbox_head, text_head, checkbox_legs, text_legs = process_body_parts("wounded", "None")
return checkbox_beak, text_beak, checkbox_body, text_body, checkbox_feathers, text_feathers, checkbox_head, text_head, checkbox_legs, text_legs
|