File size: 2,031 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
#### PROCESS FUNCTIONS 

def process_circumstance(data):
    fields_to_check = ["option_dropdown", "open_field", "extra"]
    if data["circumstance_radio"] == "Yes":
        for field in fields_to_check:
            if data["circumstance_type"][field+"_label"] == "NA":
                data["circumstance_type"].pop(field+"_label")
            else :
                val = data[f"circumstance_{field}"]
                key = data["circumstance_type"][field+"_label"]
                data["circumstance_type"][key] = val
                data["circumstance_type"].pop(field+"_label")
    return data

def process_behaviors(data):
    behaviors =[]
    if data["behaviors_radio"] == "Yes":
        for type in data["behaviors_type"]: 
            new_behavior = {}
            new_behavior["type"] = type
            behaviors.append(new_behavior)
        data["behaviors_type"] = behaviors
    return data 

def process_physical(data):
    body_parts= ["beak", "body", "legs", "feathers/wings/tail", "head incl. eyes"]
    anomalies=[]
    reformatted = {}
    reformatted["physical_radio"] = data["physical_radio"]
    if data["physical_radio"] == "Yes":
        for body_part in body_parts:
            anomaly = {}
            for key, val in data.items(): 
                if "type_"+ body_part in key:
                    anomaly["type"] = body_part
                elif "anomaly_"+ body_part in key:
                    anomaly["anomaly_type"] = val
            if anomaly: 
                anomalies.append(anomaly)
        reformatted["physical_anomalies_type"] = anomalies
    return reformatted

def process_followup(data):
    followup_events = []
    for key, val in data.items(): 
        followup_event={}
        type = key.split("followup")[-1]
        option = type.split(" ")[-1]
        followup_event["type"] = type.strip()
        followup_event[option.strip()] = val 
        followup_events.append(followup_event)
    reformatted ={}
    reformatted["follow_up_events"] = followup_events
    return reformatted