can filter mail by subject

This commit is contained in:
2022-08-06 20:22:24 +02:00
parent d707bd56e0
commit fc331aa39b
5 changed files with 124 additions and 32 deletions
+56 -7
View File
@@ -8,7 +8,7 @@ import xlsxwriter
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.pojo.mail.mail_pojo import MailAddress, MailPojo
from src.utils.generate_random_passport_id import get_random_passport_id_number
phone_number_prefix = ['6']
@@ -94,6 +94,21 @@ class ExcelHelper:
return contact_list
def read_email_pojo(self, file_name=CONTACT_LIST_FILE) -> list:
email_info_in_json = pandas.read_excel(file_name).to_json(orient='records')
contact_dict_list = json.loads(email_info_in_json)
contact_list = []
count = 0
for contact_dict in contact_dict_list:
if contact_dict['email']:
email = contact_dict['email'].strip()
password = contact_dict['code']
email_destinaire = MailAddress(email, password)
count = count + 1
contact_list.append(email_destinaire)
return contact_list
def get_random_phone_numbers():
length = 8 # number of characters in the string.
@@ -124,7 +139,7 @@ def get_random_id_number() -> str:
return ran
def write_new_contacts_to_excel(valid_contacts: list, generate_passport = True):
def write_new_contacts_to_excel(valid_contacts: list, generate_passport=True):
row = 0
col = 0
# Create a workbook and add a worksheet.
@@ -149,11 +164,45 @@ def write_new_contacts_to_excel(valid_contacts: list, generate_passport = True):
workbook.close()
if __name__ == '__main__':
def write_destinaire_email(valid_contacts: list, generate_passport=True):
row = 0
col = 0
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('real_contacts_{}.xlsx'.format(len(valid_contacts)))
header_data = ['name', 'phone', 'passport', 'email']
worksheet = workbook.add_worksheet()
header_format = workbook.add_format({'bold': True})
for col_num, data in enumerate(header_data):
worksheet.write(row, col_num, data, header_format)
row = row + 1
for info in valid_contacts:
info.phone = get_random_phone_numbers()
info.passport = get_random_passport_id_number()
info.mail = generate_email_from_name(info.first_name, info.last_name)
# Iterate over the data and write it out row by row.
worksheet.write(row, col, "{} {}".format(info.last_name, info.first_name))
worksheet.write(row, col + 1, info.phone)
worksheet.write(row, col + 2, info.passport)
worksheet.write(row, col + 3, info.mail)
row += 1
workbook.close()
def save_mails_to_db():
excel_reader = ExcelHelper()
contacts = excel_reader.read_names("/Users/lpan/Documents/rdv/real_contacts_318.xlsx")
print(contacts)
write_new_contacts_to_excel(valid_contacts=contacts)
emails = excel_reader.read_email_pojo("/Users/lpan/Downloads/aol_mails_21.xlsx")
print(emails)
for mail in emails:
MONGO_STORE_MANAGER.save_destinary_emails(mail)
if __name__ == '__main__':
# excel_reader = ExcelHelper()
# contacts = excel_reader.read_names("/Users/lpan/Documents/rdv/real_contacts_318.xlsx")
# print(contacts)
# write_new_contacts_to_excel(valid_contacts=contacts)
save_mails_to_db()
# for mail in excel_reader.read_mails_and_pwd():
# MONGO_STORE_MANAGER.insert_email(mail)
# for i in range(1,20):
# print(get_random_phone_numbers())