diff --git a/caimira/apps/calculator/model_generator.py b/caimira/apps/calculator/model_generator.py
index 7002cf60..bcc631da 100644
--- a/caimira/apps/calculator/model_generator.py
+++ b/caimira/apps/calculator/model_generator.py
@@ -486,14 +486,14 @@ class FormData:
if "respiratory_activity" not in dict_keys:
raise TypeError(f'Unable to fetch "respiratory_activity" key. Got "{dict_keys[1]}".')
- result = []
- for physical_activity in self.aria_precise['physical_activity']:
- result.append(physical_activity['type'])
+ if type(self.aria_precise['physical_activity']) is not str:
+ raise TypeError('The physical activities should be a single string.')
if type(self.aria_precise['respiratory_activity']) is not list:
raise TypeError('The respiratory activities should be in a list.')
respiratory_dict = {}
+ total_percentage = 0
for respiratory_activity in self.aria_precise['respiratory_activity']:
if type(respiratory_activity) is not dict:
raise TypeError('Each respiratory activity should be defined in a dictionary.')
@@ -503,9 +503,12 @@ class FormData:
if "percentage" not in dict_keys:
raise TypeError(f'Unable to fetch "percentage" key. Got "{dict_keys[1]}".')
respiratory_dict[respiratory_activity['type']] = respiratory_activity['percentage']
+ total_percentage += respiratory_activity['percentage']
- result.append(respiratory_dict)
- return tuple(result)
+ if total_percentage != 100:
+ raise ValueError(f'The sum of all respiratory activities should be 100. Got {total_percentage}.')
+
+ return (self.aria_precise['physical_activity'], respiratory_dict)
def infected_population(self) -> mc.InfectedPopulation:
# Initializes the virus
@@ -552,7 +555,7 @@ class FormData:
'gym':('Heavy exercise', 'Breathing'),
# ARIA UI activity types
'household-day': (
- 'Seated',
+ 'Light activity',
{'Breathing': 5, 'Speaking': 5}
),
'household-night': (
@@ -560,11 +563,11 @@ class FormData:
{'Breathing': 7, 'Speaking': 3}
),
'primary-school': (
- 'Seated',
+ 'Light activity',
{'Breathing': 5, 'Speaking': 5}
),
'secondary-school': (
- 'Seated',
+ 'Light activity',
{'Breathing': 7, 'Speaking': 3}
),
'university': (
@@ -579,6 +582,7 @@ class FormData:
}
[activity_defn, expiration_defn] = scenario_activity_and_expiration[self.activity_type]
+ print(scenario_activity_and_expiration[self.activity_type])
activity = activity_distributions[activity_defn]
expiration = build_expiration(expiration_defn)
@@ -609,10 +613,10 @@ class FormData:
'workshop': 'Moderate activity',
'lab':'Light activity',
'gym':'Heavy exercise',
- 'household-day': 'Seated',
+ 'household-day': 'Light activity',
'household-night': 'Seated',
- 'primary-school': 'Seated',
- 'secondary-school': 'Seated',
+ 'primary-school': 'Light activity',
+ 'secondary-school': 'Light activity',
'university': 'Seated',
'restaurant': 'Seated',
'precise': 'Seated',
diff --git a/caimira/apps/templates/base/calculator.form.html.j2 b/caimira/apps/templates/base/calculator.form.html.j2
index 96dda7bf..4fb47280 100644
--- a/caimira/apps/templates/base/calculator.form.html.j2
+++ b/caimira/apps/templates/base/calculator.form.html.j2
@@ -421,7 +421,6 @@
-