diff --git a/src/mail/mail_confirmation.py b/src/mail/mail_confirmation.py index b6ae555..c62c336 100644 --- a/src/mail/mail_confirmation.py +++ b/src/mail/mail_confirmation.py @@ -10,7 +10,7 @@ from builtins import list from src import params from src.db.mongo_manager import MONGO_STORE_MANAGER -from src.notification.AcceptedResultPojo import get_accepted_result_from +from src.notification.AcceptedResultPojo import get_accepted_result_from, AcceptedResultPojo from src.notification.mailer import Mailer from src.pojo.mail.mail_pojo import MailPojo, MailAddress from src.proxy.proxy_type import ProxyType @@ -130,35 +130,37 @@ def need_to_valid_url(url: str, successful_items) -> bool: return False -def read_mails_and_find_confirmation_contacts(): +def accept_appointment_found(accepted_result_list: list): mailer = Mailer() + for reserve in accepted_result_list: + mailer.send_email(get_accepted_result_from(reserve), to_all=False) + MONGO_STORE_MANAGER.update_reserve_result(reserve.id, reserve.accepted) + + +def read_mails_and_find_confirmation_contacts(): mail_list = MONGO_STORE_MANAGER.get_destination_emails() # # mail_address1 = MailAddress(mail="appointment2022@aol.com", password="gyilpmvyyvlcaviq") - # # mail_address2 = MailAddress(mail="chenpeijun@aol.com", password="ytifuwguknzifqyb") - # # mail_address2 = MailAddress(mail="sdfgfhgf1986@aol.com", password="fjwcgvhxxlywqfwm") - # mail_address3 = MailAddress(mail="ciyuexie@aol.com", password="czezlmmyypokdfce") - # # mail_address4 = MailAddress(mail="hongjiang176@aol.com", password="ftzpscgzvwneelmn") - # mail_address4 = MailAddress(mail="ribka_puchkova@aol.com", password="aqvsozoyifbixtdc") - # mail_list = [mail_address3, mail_address2, mail_address1, mail_address4] # mail_list = [mail_address3] mails_messages = [] + # read all the emails with ThreadPoolExecutor(max_workers=20) as executor: for mail in mail_list: mail_reader = MailConfirmationReader(mail.mail, mail.password) executor.submit(mail_reader.read_emails, mails_messages) - + accepted_appointment_list = [] if len(mails_messages) > 0: successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() for mail in mails_messages: message_body = mail.body for item in successful_items: if item.id in message_body: - mailer.send_email(get_accepted_result_from(item), to_all=False) + accepted_appointment_list.append(item) elif "10:30" in message_body and item.email in message_body: - mailer.send_email(get_accepted_result_from(item), to_all=False) + accepted_appointment_list.append(item) print(mail.mail_address) print(mail.subject) print(mail.body) + accept_appointment_found(accepted_appointment_list) # check whether the url has already been clicked