diff --git a/src/cct_connector/ServiceAlertEmailer.py b/src/cct_connector/ServiceAlertEmailer.py index c1e567c..56b057a 100644 --- a/src/cct_connector/ServiceAlertEmailer.py +++ b/src/cct_connector/ServiceAlertEmailer.py @@ -70,9 +70,7 @@ def _ward_curry_pot(ward_number: str) -> typing.Callable[[pandas.Series], bool]: # creating curried filter function def _ward_filter(row: pandas.Series) -> bool: return (row["inferred_wards"] is not None and - ward_number in row["inferred_wards"] and - # citywide alerts not to be trusted, yet - row["area_type"] != "Citywide") + ward_number in row["inferred_wards"]) return _ward_filter @@ -138,90 +136,493 @@ def _service_area_filter(row: pandas.Series) -> bool: ("Water Dispatch Team", "Water.SanitationDispatch@capetown.gov.za"),), "all unplanned water and sanitation alerts", _service_area_curry_pot("Water & Sanitation")), - # Ward 115 + # Wards + # Ward 3 ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, - (("Cllr McMahon", "Ian.McMahon@capetown.gov.za"), - ("Girshwin", "girshwin.fouldien@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), - "all unplanned alerts that might affect Ward 115", - _ward_curry_pot("115")), + (("Cllr Van Zyl", "annelize.vanZyl@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 3", + _ward_curry_pot("3")), ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, - (("Cllr McMahon", "Ian.McMahon@capetown.gov.za"), - ("Girshwin", "girshwin.fouldien@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), - "all planned works that might affect Ward 115", - _ward_curry_pot("115")), + (("Cllr Van Zyl", "annelize.vanZyl@capetown.gov.za"),), + "all planned works that might affect Ward 3", + _ward_curry_pot("3")), # Ward 16 ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, - (("Cllr Barends", "ursula.barends@capetown.gov.za"), - ("Lorraine", "Lorraine.Frost@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), + (("Cllr Barends", "ursula.barends@capetown.gov.za"),), "all unplanned alerts that might affect Ward 16", _ward_curry_pot("16")), ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, - (("Cllr Barends", "ursula.barends@capetown.gov.za"), - ("Lorraine", "Lorraine.Frost@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), + (("Cllr Barends", "ursula.barends@capetown.gov.za"),), "all planned works that might affect Ward 16", _ward_curry_pot("16")), + # Ward 21 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Terblanche", "hendri.terblanche@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 21", + _ward_curry_pot("21")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Terblanche", "hendri.terblanche@capetown.gov.za"),), + "all planned works that might affect Ward 21", + _ward_curry_pot("21")), + # Ward 31 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Thompson", "theresa.thompson@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 31", + _ward_curry_pot("31")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Thompson", "theresa.thompson@capetown.gov.za"),), + "all planned works that might affect Ward 31", + _ward_curry_pot("31")), + # Ward 33 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Somdaka", "Lungisa.Somdaka@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 33", + _ward_curry_pot("33")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Somdaka", "Lungisa.Somdaka@capetown.gov.za"),), + "all planned works that might affect Ward 33", + _ward_curry_pot("33")), + # Ward 34 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Gadeni", "Melikhaya.Gadeni@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 34", + _ward_curry_pot("34")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Gadeni", "Melikhaya.Gadeni@capetown.gov.za"),), + "all planned works that might affect Ward 34", + _ward_curry_pot("34")), + # Ward 35 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Chitha", "Mboniswa.Chitha@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 35", + _ward_curry_pot("35")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Chitha", "Mboniswa.Chitha@capetown.gov.za"),), + "all planned works that might affect Ward 35", + _ward_curry_pot("35")), + # Ward 36 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Ntshweza", "Nceba.Ntshweza@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 36", + _ward_curry_pot("36")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Ntshweza", "Nceba.Ntshweza@capetown.gov.za"),), + "all planned works that might affect Ward 36", + _ward_curry_pot("36")), + # Ward 37 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Martin", "Lionel.Martin@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 37", + _ward_curry_pot("37")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Martin", "Lionel.Martin@capetown.gov.za"),), + "all planned works that might affect Ward 37", + _ward_curry_pot("37")), + # Ward 38 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Zumana", "Suzanne.Zumana@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 38", + _ward_curry_pot("38")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Zumana", "Suzanne.Zumana@capetown.gov.za"),), + "all planned works that might affect Ward 38", + _ward_curry_pot("38")), + # Ward 39 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Mjuza", "Thembinkosi.Mjuza@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 39", + _ward_curry_pot("39")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Mjuza", "Thembinkosi.Mjuza@capetown.gov.za"),), + "all planned works that might affect Ward 39", + _ward_curry_pot("39")), + # Ward 40 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Ngcombolo", "bongani.ngcombolo@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 40", + _ward_curry_pot("40")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Ngcombolo", "bongani.ngcombolo@capetown.gov.za"),), + "all planned works that might affect Ward 40", + _ward_curry_pot("40")), + # Ward 41 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Sonyoka", "Lindile.Sonyoka@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 41", + _ward_curry_pot("41")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Sonyoka", "Lindile.Sonyoka@capetown.gov.za"),), + "all planned works that might affect Ward 41", + _ward_curry_pot("41")), + # Ward 42 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Esau", "Charles.Esau@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 42", + _ward_curry_pot("42")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Esau", "Charles.Esau@capetown.gov.za"),), + "all planned works that might affect Ward 42", + _ward_curry_pot("42")), + # Ward 43 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Jansen", "EltonEnrique.Jansen@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 43", + _ward_curry_pot("43")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Jansen", "EltonEnrique.Jansen@capetown.gov.za"),), + "all planned works that might affect Ward 43", + _ward_curry_pot("43")), + # Ward 44 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Moses", "Anthony.Moses@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 44", + _ward_curry_pot("44")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Moses", "Anthony.Moses@capetown.gov.za"),), + "all planned works that might affect Ward 44", + _ward_curry_pot("44")), + # Ward 45 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Marr", "Mandy.Marr@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 45", + _ward_curry_pot("45")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Marr", "Mandy.Marr@capetown.gov.za"),), + "all planned works that might affect Ward 45", + _ward_curry_pot("45")), + # Ward 47 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Rheede", "Antonio.VanDerRheede@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 47", + _ward_curry_pot("47")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Rheede", "Antonio.VanDerRheede@capetown.gov.za"),), + "all planned works that might affect Ward 47", + _ward_curry_pot("47")), + # Ward 50 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr McKenzie", "angus.mckenzie@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 50", + _ward_curry_pot("50")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr McKenzie", "angus.mckenzie@capetown.gov.za"),), + "all planned works that might affect Ward 50", + _ward_curry_pot("50")), + # Ward 52 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Nyamakazi", "Thembelani.Nyamakazi@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 52", + _ward_curry_pot("52")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Nyamakazi", "angus.mckenzie@capetown.gov.za"),), + "all planned works that might affect Ward 52", + _ward_curry_pot("52")), + # Ward 54 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Jowell", "nicola.jowell@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 54", + _ward_curry_pot("54")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Jowell", "nicola.jowell@capetown.gov.za"),), + "all planned works that might affect Ward 54", + _ward_curry_pot("54")), + # Ward 57 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Mohamed", "Yusuf.Mohamed@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 57", + _ward_curry_pot("57")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Mohamed", "Yusuf.Mohamed@capetown.gov.za"),), + "all planned works that might affect Ward 57", + _ward_curry_pot("57")), + # Ward 58 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Hill", "Richard.Hill@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 58", + _ward_curry_pot("58")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Hill", "Richard.Hill@capetown.gov.za"),), + "all planned works that might affect Ward 58", + _ward_curry_pot("58")), + # Ward 59 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Manuel", "Mikhail.Manuel@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 59", + _ward_curry_pot("59")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Manuel", "Mikhail.Manuel@capetown.gov.za"),), + "all planned works that might affect Ward 59", + _ward_curry_pot("59")), + # Ward 60 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Kleinschmidt", "mark.kleinschmidt@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 60", + _ward_curry_pot("60")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Kleinschmidt", "mark.kleinschmidt@capetown.gov.za"),), + "all planned works that might affect Ward 60", + _ward_curry_pot("60")), + # Ward 61 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Liell-Cock", "Simon.LiellCock@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 61", + _ward_curry_pot("61")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Liell-Cock", "Simon.LiellCock@capetown.gov.za"),), + "all planned works that might affect Ward 61", + _ward_curry_pot("61")), + # Ward 62 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Langenhoven", "Emile.Langenhoven@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 62", + _ward_curry_pot("62")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Langenhoven", "Emile.Langenhoven@capetown.gov.za"),), + "all planned works that might affect Ward 62", + _ward_curry_pot("62")), + # Ward 63 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Siebritz", "Carmen.Siebritz@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 63", + _ward_curry_pot("63")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Siebritz", "Carmen.Siebritz@capetown.gov.za"),), + "all planned works that might affect Ward 63", + _ward_curry_pot("63")), + # Ward 64 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Sherry", "Izabel.Sherry@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 64", + _ward_curry_pot("64")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Sherry", "Izabel.Sherry@capetown.gov.za"),), + "all planned works that might affect Ward 64", + _ward_curry_pot("64")), + # Ward 65 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Nelson", "Donovan.Nelson@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 65", + _ward_curry_pot("65")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Nelson", "Donovan.Nelson@capetown.gov.za"),), + "all planned works that might affect Ward 65", + _ward_curry_pot("65")), + # Ward 66 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Akim", "william.akim@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 66", + _ward_curry_pot("66")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Akim", "william.akim@capetown.gov.za"),), + "all planned works that might affect Ward 66", + _ward_curry_pot("66")), + # Ward 67 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Gordon", "Gerry.Gordon@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 67", + _ward_curry_pot("67")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Gordon", "Gerry.Gordon@capetown.gov.za"),), + "all planned works that might affect Ward 67", + _ward_curry_pot("67")), + # Ward 68 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Petersen", "marita.petersen@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 68", + _ward_curry_pot("68")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Petersen", "marita.petersen@capetown.gov.za"),), + "all planned works that might affect Ward 68", + _ward_curry_pot("68")), + # Ward 69 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Francke", "Patricia.Francke@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 69", + _ward_curry_pot("69")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Francke", "Patricia.Francke@capetown.gov.za"),), + "all planned works that might affect Ward 69", + _ward_curry_pot("69")), + # Ward 71 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Franklin", "Carolynne.Franklin@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 71", + _ward_curry_pot("71")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Franklin", "Carolynne.Franklin@capetown.gov.za"),), + "all planned works that might affect Ward 71", + _ward_curry_pot("71")), + # Ward 72 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Southgate", "Kevin.Southgate@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 72", + _ward_curry_pot("72")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Southgate", "Kevin.Southgate@capetown.gov.za"),), + "all planned works that might affect Ward 72", + _ward_curry_pot("72")), + # Ward 73 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Andrews", "Eddie.Andrews@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 73", + _ward_curry_pot("73")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Andrews", "Eddie.Andrews@capetown.gov.za"),), + "all planned works that might affect Ward 73", + _ward_curry_pot("73")), + # Ward 74 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Quintas", "roberto.quintas@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 74", + _ward_curry_pot("74")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Quintas", "roberto.quintas@capetown.gov.za"),), + "all planned works that might affect Ward 74", + _ward_curry_pot("74")), + # Ward 75 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Woodman", "joan.woodman@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 75", + _ward_curry_pot("75")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Woodman", "joan.woodman@capetown.gov.za"),), + "all planned works that might affect Ward 75", + _ward_curry_pot("75")), + # Ward 76 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Plaatjies", "Avron.Plaatjies@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 76", + _ward_curry_pot("76")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Plaatjies", "Avron.Plaatjies@capetown.gov.za"),), + "all planned works that might affect Ward 76", + _ward_curry_pot("76")), # Ward 77 ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, - (("Cllr Higham", "Francine.Higham@capetown.gov.za"), - ("Girshwin", "girshwin.fouldien@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), + (("Cllr Higham", "Francine.Higham@capetown.gov.za"),), "all unplanned alerts that might affect Ward 77", _ward_curry_pot("77")), ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, - (("Cllr Higham", "Francine.Higham@capetown.gov.za"), - ("Girshwin", "girshwin.fouldien@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), + (("Cllr Higham", "Francine.Higham@capetown.gov.za"),), "all planned works that might affect Ward 77", _ward_curry_pot("77")), - # Ward 21 + # Ward 78 ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, - (("Cllr Terblanche", "hendri.terblanche@capetown.gov.za"), - ("Carin", "Carin.Viljoen@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), - "all unplanned alerts that might affect Ward 21", - _ward_curry_pot("21")), + (("Cllr Timm", "Goawa.Timm@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 78", + _ward_curry_pot("78")), ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, - (("Cllr Terblanche", "hendri.terblanche@capetown.gov.za"), - ("Carin", "Carin.Viljoen@capetown.gov.za"), - ("Gordon", "gordon.inggs@capetown.gov.za"), - ("Delyno", "delyno.dutoit@capetown.gov.za"), - ("Henri", "henri.knoesen@capetown.gov.za"), - ("Kathryn", "kathryn.mcdermott@capetown.gov.za"), - ("Muhammed", "muhammed.ockards@capetown.gov.za"),), - "all planned works that might affect Ward 21", - _ward_curry_pot("21")), + (("Cllr Timm", "Goawa.Timm@capetown.gov.za"),), + "all planned works that might affect Ward 78", + _ward_curry_pot("78")), + # Ward 79 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Christians", "Daniel.Christians@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 79", + _ward_curry_pot("79")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Christians", "Daniel.Christians@capetown.gov.za"),), + "all planned works that might affect Ward 79", + _ward_curry_pot("79")), + # Ward 80 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Payiya", "Bennet.Payiya@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 80", + _ward_curry_pot("80")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Payiya", "Bennet.Payiya@capetown.gov.za"),), + "all planned works that might affect Ward 80", + _ward_curry_pot("80")), + # Ward 81 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Potts", "Ashley.Potts@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 81", + _ward_curry_pot("81")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Potts", "Ashley.Potts@capetown.gov.za"),), + "all planned works that might affect Ward 81", + _ward_curry_pot("81")), + + # Ward 82 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Harris", "Washiela.Harris@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 82", + _ward_curry_pot("82")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Harris", "Washiela.Harris@capetown.gov.za"),), + "all planned works that might affect Ward 82", + _ward_curry_pot("82")), + + # Ward 88 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Sophazi", "Zukisani.Sophazi@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 88", + _ward_curry_pot("88")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Sophazi", "Zukisani.Sophazi@capetown.gov.za"),), + "all planned works that might affect Ward 88", + _ward_curry_pot("88")), + + # Ward 90 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Simangweni", "Lukhanyo.Simangweni@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 90", + _ward_curry_pot("90")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Simangweni", "Lukhanyo.Simangweni@capetown.gov.za"),), + "all planned works that might affect Ward 90", + _ward_curry_pot("90")), + + # Ward 92 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Adonis", "Norman.Adonis@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 92", + _ward_curry_pot("92")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Adonis", "Norman.Adonis@capetown.gov.za"),), + "all planned works that might affect Ward 92", + _ward_curry_pot("92")), + + # Ward 99 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Mqina", "Lonwabo.Mqina@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 99", + _ward_curry_pot("99")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Mqina", "Lonwabo.Mqina@capetown.gov.za"),), + "all planned works that might affect Ward 99", + _ward_curry_pot("99")), + + # Ward 110 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Rossouw", "shanen.rossouw@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 110", + _ward_curry_pot("110")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Rossouw", "shanen.rossouw@capetown.gov.za"),), + "all planned works that might affect Ward 110", + _ward_curry_pot("110")), + + # Ward 115 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr McMahon", "Ian.McMahon@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 115", + _ward_curry_pot("115")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr McMahon", "Ian.McMahon@capetown.gov.za"),), + "all planned works that might affect Ward 115", + _ward_curry_pot("115")), + + # Ward 116 + ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, + (("Cllr Philander", "Solomon.Philander@capetown.gov.za"),), + "all unplanned alerts that might affect Ward 116", + _ward_curry_pot("116")), + ServiceAlertEmailConfig("current", True, "v1", EMAIL_COLS, + (("Cllr Philander", "Solomon.Philander@capetown.gov.za"),), + "all planned works that might affect Ward 116", + _ward_curry_pot("116")), + # Somerset West ServiceAlertEmailConfig("current", False, "v1", EMAIL_COLS, (("Delyno", "delyno.dutoit@capetown.gov.za"),), @@ -325,6 +726,8 @@ def _form_and_send_alerts_email(alert_dict: typing.Dict[str, typing.Any], subject=email_subject, to_recipients=[email for _, email in recipients], reply_to=DS_REPLY_TO) + logging.debug(f"{message.to_recipients=}") + logging.debug(f"{message.subject=}") # Attaching logo logo_path = RESOURCES_PATH / CITY_LOGO_FILENAME