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 |
|