feat: capture circumstances data
Browse files- app/circumstances_dropdowns.py +18 -3
- app/dead.py +5 -1
- app/main_multianimal.py +3 -1
- app/wounded.py +5 -0
app/circumstances_dropdowns.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from utils_config import get_custom_config_dropdowns
|
| 3 |
-
|
| 4 |
|
| 5 |
#--------------------------------------------------------- LEVEL 1 DROPDOWNS
|
| 6 |
def retrieve_config_options(label, dropdown_config):
|
|
@@ -23,18 +23,22 @@ def create_dropdown_level1(label):
|
|
| 23 |
|
| 24 |
def dropdown_collision():
|
| 25 |
label = "Collision with a means of transport"
|
|
|
|
| 26 |
return create_dropdown_level1(label)
|
| 27 |
|
| 28 |
def dropdown_deliberate_destruction():
|
| 29 |
label = "Destruction / Deliberatly removed"
|
|
|
|
| 30 |
return create_dropdown_level1(label)
|
| 31 |
|
| 32 |
def dropdown_indirect_destruction():
|
| 33 |
label = "Indirect destruction"
|
|
|
|
| 34 |
return create_dropdown_level1(label)
|
| 35 |
|
| 36 |
def dropdown_natural_cause():
|
| 37 |
label = "Natural cause"
|
|
|
|
| 38 |
return create_dropdown_level1(label)
|
| 39 |
|
| 40 |
|
|
@@ -61,8 +65,10 @@ def get_options(value):
|
|
| 61 |
extras = val
|
| 62 |
extras = [extra.title() for extra in extras]
|
| 63 |
return options_dropdown, open_field, extras, extras_label
|
| 64 |
-
|
|
|
|
| 65 |
def on_select(evt: gr.SelectData): # SelectData is a subclass of EventData
|
|
|
|
| 66 |
options_dropdown, open_field, extras, extras_label = get_options(evt.value)
|
| 67 |
if options_dropdown is not None:
|
| 68 |
dropdown_level2 = gr.Dropdown(choices=options_dropdown, label=evt.value, interactive=True, visible=True)
|
|
@@ -78,4 +84,13 @@ def on_select(evt: gr.SelectData): # SelectData is a subclass of EventData
|
|
| 78 |
dropdown_extra_level2 = gr.Dropdown(choices=extras, label=extras_label, interactive=True, visible=True)
|
| 79 |
else:
|
| 80 |
dropdown_extra_level2 = gr.Dropdown(choices=[], visible=False)
|
| 81 |
-
return dropdown_level2, openfield_level2, dropdown_extra_level2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from utils_config import get_custom_config_dropdowns
|
| 3 |
+
from utils_json import add_data_to_individual
|
| 4 |
|
| 5 |
#--------------------------------------------------------- LEVEL 1 DROPDOWNS
|
| 6 |
def retrieve_config_options(label, dropdown_config):
|
|
|
|
| 23 |
|
| 24 |
def dropdown_collision():
|
| 25 |
label = "Collision with a means of transport"
|
| 26 |
+
add_data_to_individual("circumstance", label)
|
| 27 |
return create_dropdown_level1(label)
|
| 28 |
|
| 29 |
def dropdown_deliberate_destruction():
|
| 30 |
label = "Destruction / Deliberatly removed"
|
| 31 |
+
add_data_to_individual("circumstance", label)
|
| 32 |
return create_dropdown_level1(label)
|
| 33 |
|
| 34 |
def dropdown_indirect_destruction():
|
| 35 |
label = "Indirect destruction"
|
| 36 |
+
add_data_to_individual("circumstance", label)
|
| 37 |
return create_dropdown_level1(label)
|
| 38 |
|
| 39 |
def dropdown_natural_cause():
|
| 40 |
label = "Natural cause"
|
| 41 |
+
add_data_to_individual("circumstance", label)
|
| 42 |
return create_dropdown_level1(label)
|
| 43 |
|
| 44 |
|
|
|
|
| 65 |
extras = val
|
| 66 |
extras = [extra.title() for extra in extras]
|
| 67 |
return options_dropdown, open_field, extras, extras_label
|
| 68 |
+
|
| 69 |
+
|
| 70 |
def on_select(evt: gr.SelectData): # SelectData is a subclass of EventData
|
| 71 |
+
add_data_to_individual("circumstance_dropdown_level1", evt.value)
|
| 72 |
options_dropdown, open_field, extras, extras_label = get_options(evt.value)
|
| 73 |
if options_dropdown is not None:
|
| 74 |
dropdown_level2 = gr.Dropdown(choices=options_dropdown, label=evt.value, interactive=True, visible=True)
|
|
|
|
| 84 |
dropdown_extra_level2 = gr.Dropdown(choices=extras, label=extras_label, interactive=True, visible=True)
|
| 85 |
else:
|
| 86 |
dropdown_extra_level2 = gr.Dropdown(choices=[], visible=False)
|
| 87 |
+
return dropdown_level2, openfield_level2, dropdown_extra_level2
|
| 88 |
+
|
| 89 |
+
def on_select_dropdown_level2(evt: gr.SelectData):
|
| 90 |
+
add_data_to_individual("circumstance_dropdown_level2", evt.value)
|
| 91 |
+
|
| 92 |
+
def on_select_openfield_level2(evt: gr.SelectData):
|
| 93 |
+
add_data_to_individual("circumstance_openfield_level2", evt.value)
|
| 94 |
+
|
| 95 |
+
def on_select_dropdown_extra_level2(evt: gr.SelectData):
|
| 96 |
+
add_data_to_individual("circumstance_dropdown_extra_level2", evt.value)
|
app/dead.py
CHANGED
|
@@ -1,9 +1,13 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from circumstances import create_causes
|
| 3 |
from followup_events import create_followup_section
|
| 4 |
-
|
| 5 |
|
| 6 |
def show_section_dead(visible):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
with gr.Column(visible=visible, elem_id="dead") as section_dead:
|
| 8 |
gr.Markdown("# Dead Animal")
|
| 9 |
gr.Markdown("## Please describe the cause of death", label="description")
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from circumstances import create_causes
|
| 3 |
from followup_events import create_followup_section
|
| 4 |
+
from utils_json import add_data_to_individual
|
| 5 |
|
| 6 |
def show_section_dead(visible):
|
| 7 |
+
if visible==True:
|
| 8 |
+
add_data_to_individual("dead", "True")
|
| 9 |
+
else:
|
| 10 |
+
add_data_to_individual("dead", "False")
|
| 11 |
with gr.Column(visible=visible, elem_id="dead") as section_dead:
|
| 12 |
gr.Markdown("# Dead Animal")
|
| 13 |
gr.Markdown("## Please describe the cause of death", label="description")
|
app/main_multianimal.py
CHANGED
|
@@ -154,7 +154,9 @@ with gr.Blocks() as demo:
|
|
| 154 |
button_natural_cause_wounded.click(dropdown_natural_cause, outputs=[dropdown_wounded, dropdown_level2_wounded, openfield_level2_wounded, dropdown_extra_level2_wounded])
|
| 155 |
|
| 156 |
dropdown_wounded.select(on_select, None, [dropdown_level2_wounded, openfield_level2_wounded, dropdown_extra_level2_wounded])
|
| 157 |
-
|
|
|
|
|
|
|
| 158 |
# ---------------------------------------------------------
|
| 159 |
# Radio Behavior Wounded
|
| 160 |
radio_behavior_wounded.change(fn=show_behavior,
|
|
|
|
| 154 |
button_natural_cause_wounded.click(dropdown_natural_cause, outputs=[dropdown_wounded, dropdown_level2_wounded, openfield_level2_wounded, dropdown_extra_level2_wounded])
|
| 155 |
|
| 156 |
dropdown_wounded.select(on_select, None, [dropdown_level2_wounded, openfield_level2_wounded, dropdown_extra_level2_wounded])
|
| 157 |
+
dropdown_level2_wounded.select(on_select_dropdown_level2)
|
| 158 |
+
openfield_level2_wounded.select(on_select_openfield_level2)
|
| 159 |
+
dropdown_extra_level2_wounded.select(on_select_dropdown_extra_level2)
|
| 160 |
# ---------------------------------------------------------
|
| 161 |
# Radio Behavior Wounded
|
| 162 |
radio_behavior_wounded.change(fn=show_behavior,
|
app/wounded.py
CHANGED
|
@@ -4,8 +4,13 @@ from physical_select_animal import create_bird_anatomy
|
|
| 4 |
from physical_checkbox import process_body_parts
|
| 5 |
from behavior_checkbox import create_behavior_checkbox
|
| 6 |
from followup_events import create_followup_section
|
|
|
|
| 7 |
|
| 8 |
def show_section_wounded(visible):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
with gr.Column(visible=visible, elem_id="wounded") as wounded_section:
|
| 10 |
gr.Markdown("# Wounded Animal")
|
| 11 |
|
|
|
|
| 4 |
from physical_checkbox import process_body_parts
|
| 5 |
from behavior_checkbox import create_behavior_checkbox
|
| 6 |
from followup_events import create_followup_section
|
| 7 |
+
from utils_json import add_data_to_individual
|
| 8 |
|
| 9 |
def show_section_wounded(visible):
|
| 10 |
+
if visible==True:
|
| 11 |
+
add_data_to_individual("wounded", "True")
|
| 12 |
+
else:
|
| 13 |
+
add_data_to_individual("wounded", "False")
|
| 14 |
with gr.Column(visible=visible, elem_id="wounded") as wounded_section:
|
| 15 |
gr.Markdown("# Wounded Animal")
|
| 16 |
|