From 99af4dfa51c06060e37f38f28726c283e38f46e7 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Wed, 1 Jun 2022 16:18:53 +0200 Subject: [PATCH] try to send email after check_results --- check_results.py | 11 ++++++++++- notification/AcceptedResultPojo.py | 6 +++--- notification/mailer.py | 4 ++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/check_results.py b/check_results.py index da5e89c..f423d79 100644 --- a/check_results.py +++ b/check_results.py @@ -8,6 +8,8 @@ from playwright.sync_api import sync_playwright import params from logs.LogSender import TYPE_EVENT_CHECK_RESULTS, LOG_SUBJECT_EVENT +from notification.AcceptedResultPojo import get_accepted_result_from +from notification.mailer import Mailer from pojo.ReserveResultPojo import ReserveResultPojo from pojo.ResultEnum import ResultEnum @@ -17,6 +19,8 @@ NOT_AVAILABLE_CONTENT = "For more than 130 years, our House has offered its full PENDING_SENTENCE = "Ce soir, entre 20:00 et 20:30, vous obtiendrez une réponse par e-mail." PENDING_SENTENCE_EN = "This evening between 20:00 and 20:30 you will receive a response by email." +mailer = Mailer() + class TlsPlaywright(threading.local): def __init__(self) -> None: @@ -100,6 +104,11 @@ class ResultChecker: else: print("status is ACCEPTED") status = ResultEnum.ACCEPTED + # send email + try: + mailer.send_email(get_accepted_result_from(reserve_pojo)) + except Exception as err: + print(err) collection.document(reserve_pojo.id).update({u'accepted': status.name}) @@ -116,7 +125,7 @@ if __name__ == '__main__': reserve_pojo = ReserveResultPojo.from_firestore_dict(appointment.to_dict()) result_list.append(reserve_pojo) - with ThreadPoolExecutor(max_workers=5) as executor: + with ThreadPoolExecutor(max_workers=10) as executor: for reserve in result_list: count = count + 1 if reserve.accepted is None or ResultEnum.ACCEPTED.value == reserve.accepted: diff --git a/notification/AcceptedResultPojo.py b/notification/AcceptedResultPojo.py index 7aafbb5..1490e8b 100644 --- a/notification/AcceptedResultPojo.py +++ b/notification/AcceptedResultPojo.py @@ -21,15 +21,15 @@ class AcceptedResultPojo: self.url = url -def get_accepted_result_from(sms, sim_info: ReserveResultPojo) -> AcceptedResultPojo: +def get_accepted_result_from(sim_info: ReserveResultPojo) -> AcceptedResultPojo: if sim_info is None: # send email even there are no reserve info - return AcceptedResultPojo(sms.text, slot_position=0, sim_position=0, + return AcceptedResultPojo("", slot_position=0, sim_position=0, passport="", email="", phone="", name="", ccid="", url="") else: - return AcceptedResultPojo(sms.text, slot_position=sim_info.slot_position, sim_position=sim_info.sim_position, + return AcceptedResultPojo("", slot_position=sim_info.slot_position, sim_position=sim_info.sim_position, passport=sim_info.passport, email=sim_info.email, phone=sim_info.phone, name="{} {}".format(sim_info.lastName, sim_info.firstName), ccid=sim_info.ccid, url=sim_info.url) diff --git a/notification/mailer.py b/notification/mailer.py index 6a57aa2..b6cf949 100644 --- a/notification/mailer.py +++ b/notification/mailer.py @@ -26,8 +26,8 @@ class Mailer: aws_secret_access_key=secret) def send_email(self, result: AcceptedResultPojo): - recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com'] - # recipients = ['panleicim@gmail.com'] + # recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com'] + recipients = ['panleicim@gmail.com'] mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html") self.logger.info("send email to " + str(recipients))