From e81d3d5d8aac21fc04275f64bcf0840fbb47275d Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Thu, 9 Nov 2023 20:15:38 +0100 Subject: [PATCH] add methode to read all mails --- src/utils/excel_reader.py | 53 ++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/src/utils/excel_reader.py b/src/utils/excel_reader.py index c55755b..3285e64 100755 --- a/src/utils/excel_reader.py +++ b/src/utils/excel_reader.py @@ -10,7 +10,7 @@ from src.config import CONTACT_LIST_FILE from src.db.mongo_manager import MONGO_STORE_MANAGER from src.pojo.contact_pojo import ContactPojo from src.pojo.mail.mail_pojo import MailAddress -from src.utils.generate_random_passport_id import get_random_passport_id_number +from src.utils.contacts.generate_random_passport_id import get_random_passport_id_number phone_number_prefix = ['7'] chinnese_number_prefix = ['13', '15', '18'] @@ -29,6 +29,30 @@ def read_links_to_click(file_path): print("error on link " + link) +def read_contacts(file_name=CONTACT_LIST_FILE) -> list: + print("read file " + file_name) + contact_list_in_json = pandas.read_excel(file_name).to_json(orient='records') + contact_dict_list = json.loads(contact_list_in_json) + contact_list = [] + for contact_dict in contact_dict_list: + if contact_dict['name']: + raw_name = contact_dict['name'].strip() + name = raw_name.split(' ') + last_name = name[0] + if len(name) == 2: + first_name = name[-1] + else: + first_name = ''.join(name[1:len(name)]) + + contact = ContactPojo(phone_number=contact_dict['phone'], + last_name=last_name, + first_name=first_name, + passport_number=contact_dict['passport'], + mail=contact_dict['email']) + contact_list.append(contact) + return contact_list + + class ExcelHelper: def __init__(self): @@ -48,31 +72,8 @@ class ExcelHelper: user_agent_list.append(user_agent_dict['user_agent']) print(user_agent_list) - def read_contacts(self, file_name=CONTACT_LIST_FILE) -> list: - print("read file " + file_name) - contact_list_in_json = pandas.read_excel(file_name).to_json(orient='records') - contact_dict_list = json.loads(contact_list_in_json) - contact_list = [] - for contact_dict in contact_dict_list: - if contact_dict['name']: - raw_name = contact_dict['name'].strip() - name = raw_name.split(' ') - last_name = name[0] - if len(name) == 2: - first_name = name[-1] - else: - first_name = ''.join(name[1:len(name)]) - - contact = ContactPojo(phone_number=contact_dict['phone'], - last_name=last_name, - first_name=first_name, - passport_number=contact_dict['passport'], - mail=contact_dict['email']) - contact_list.append(contact) - return contact_list - def check_contact_list(self, file_name=CONTACT_LIST_FILE): - contact_list = self.read_contacts(file_name) + contact_list = read_contacts(file_name) for contact in contact_list: if contact.first_name is None or len(contact.first_name) == 0: print("error in firstName for " + contact.mail) @@ -238,7 +239,7 @@ def write_destinaire_email(valid_contacts: list, generate_passport=True): def save_mails_to_db(): excel_reader = ExcelHelper() - emails = excel_reader.read_email_pojo("/Users/panlei/Downloads/邮箱及密码.xlsx") + emails = excel_reader.read_email_pojo("/Users/lpan/Downloads/邮箱及密码.xlsx") print(emails) for mail in emails: MONGO_STORE_MANAGER.save_destinary_emails(mail)