diff --git a/cara/apps/calculator/report_generator.py b/cara/apps/calculator/report_generator.py index 6a8d3db6..12963c1c 100644 --- a/cara/apps/calculator/report_generator.py +++ b/cara/apps/calculator/report_generator.py @@ -103,6 +103,9 @@ def minutes_to_time(minutes: int) -> str: def manufacture_alternative_scenarios(form: FormData) -> typing.Dict[str, models.ExposureModel]: scenarios = {} + #Setup scenarios for with/without Type 1 masks and fixed variations on selected ventilation options. + + #Two special option cases - HEPA and/or FFP2 masks if (form.mask_wearing == 'continuous') and (form.mask_type == 'FFP2') and (form.hepa_option == 1) : hepa_with_mask_ffp2 = dataclasses.replace(form, mask_type = 'FFP2', mask_wearing='continuous') @@ -111,19 +114,20 @@ def manufacture_alternative_scenarios(form: FormData) -> typing.Dict[str, models form =dataclasses.replace(form, mask_type = 'Type I') form =dataclasses.replace(form, hepa_option =0) - if (form.mask_wearing == 'continuous') and (form.mask_type == 'FFP2'): + elif (form.mask_wearing == 'continuous') and (form.mask_type == 'FFP2'): with_mask_ffp2 = dataclasses.replace(form, mask_type = 'FFP2', mask_wearing='continuous') scenarios['Scenario with FFP2 masks'] = with_mask_ffp2.build_model() form =dataclasses.replace(form, mask_type = 'Type I') - if form.hepa_option == 1: + elif form.hepa_option == 1: with_hepa = dataclasses.replace(form, hepa_option = 1) scenarios['Scenario with HEPA filter'] = with_hepa.build_model() form =dataclasses.replace(form, hepa_option =0) - + + #general cases for with/without Type 1 masks across ventilation types if form.ventilation_type == 'no-ventilation': with_mask_type1 = dataclasses.replace(form, mask_type = 'Type I', mask_wearing='continuous') without_mask = dataclasses.replace(form, mask_wearing='removed') @@ -152,14 +156,7 @@ def manufacture_alternative_scenarios(form: FormData) -> typing.Dict[str, models scenarios['Windows open without masks'] = without_mask.build_model() scenarios['Windows closed with Type I mask'] = with_mask_no_vent.build_model() scenarios['Windows closed without masks'] = without_mask_or_vent.build_model() - - else : - with_mask_type1 = dataclasses.replace(form, mask_type = 'Type I', mask_wearing='continuous') - without_mask = dataclasses.replace(form, mask_wearing='removed') - - scenarios['With Type I mask'] = with_mask_type1.build_model() - scenarios['Without mask'] = without_mask.build_model() - + return scenarios