Coverage for app/scripts/sendEventReminderEmails.py: 30%
23 statements
« prev ^ index » next coverage.py v7.2.5, created at 2023-05-24 14:13 +0000
« prev ^ index » next coverage.py v7.2.5, created at 2023-05-24 14:13 +0000
1from app.logic.emailHandler import EmailHandler
2from app.logic.events import getTomorrowsEvents
3from app.models.term import Term
4from app.models.user import User
5from app.models.emailTemplate import EmailTemplate
7def sendAutomatedEmail(events):
8 """Function that sends an email for every event occuring the next day"""
9 if not len(events):
10 print("No events were found.")
11 return 0
12 counter = 0
13 currentTerm = Term.get(isCurrentTerm=1)
14 template = EmailTemplate.get(purpose = "Reminder")
15 templateSubject = template.subject
16 templateBody = template.body
17 for event in events:
18 programId = event.singleProgram
19 emailData = {"eventID":event.id, # creates the email data
20 "programID":programId,
21 "term":currentTerm.id,
22 "templateIdentifier":"Reminder",
23 "recipientsCategory":"Interested",
24 "subject":templateSubject,
25 "body":templateBody}
26 sendEmail = EmailHandler(emailData, "172.31.3.239:8080", User.get_by_id("ramsayb2"))
27 sendEmail.send_email()
28 counter+=1
29 return counter
31def main():
32 sendAutomatedEmail(getTomorrowsEvents())
34# main()