generate recovery email with contacts

This commit is contained in:
2023-10-09 23:01:18 +02:00
parent 1cfdf5ce0e
commit c45886cbc3
@@ -2,6 +2,7 @@ import random
import xlsxwriter
from src.db.mongo_manager import MONGO_STORE_MANAGER
from src.person_name.extract_name_with_pinyinlist import read_pinyin_list_from_file
from src.pojo.mail_creation_pojo import MailCreationPojo
from src.utils.excel_reader import get_random_fr_phone_numbers
@@ -13,7 +14,7 @@ def write_mail_creation_pojo_to_excel(valid_contacts: list):
col = 0
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('mail_contacts_{}.xlsx'.format(len(valid_contacts)))
header_data = ['name', 'password']
header_data = ['name', '邮箱地址', "password", "恢复邮箱", "恢复邮箱密码"]
worksheet = workbook.add_worksheet()
header_format = workbook.add_format({'bold': True})
@@ -22,21 +23,42 @@ def write_mail_creation_pojo_to_excel(valid_contacts: list):
row = row + 1
for info in valid_contacts:
worksheet.write(row, col, "{}".format(info.name))
worksheet.write(row, col + 1, info.password)
worksheet.write(row, col + 2, info.phone)
worksheet.write(row, col + 1, info.mail_address)
worksheet.write(row, col + 2, info.password)
worksheet.write(row, col + 3, info.recover_mail)
worksheet.write(row, col + 4, info.recover_mail_pwd)
row += 1
workbook.close()
def get_recover_mail_list(mail_size: int):
_mail_list = MONGO_STORE_MANAGER.get_destination_emails()
random.shuffle(_mail_list)
return _mail_list[0:mail_size]
def generate_mail_address(name):
_name_splitted = name.split(" ")
_first_name = _name_splitted[1]
_last_name = _name_splitted[0]
_year = random.randint(1990, 2000)
return "{}.{}{}".format(_last_name, _first_name, _year)
if __name__ == '__main__':
pinyin_name_list = read_pinyin_list_from_file()
random.shuffle(pinyin_name_list)
_name_list = pinyin_name_list[0:100]
_size = 500
_name_list = pinyin_name_list[0:_size]
# write to excel
_recovery_mail_list = get_recover_mail_list(_size)
_generated_list = []
for _name in _name_list:
name_mail_list = list(zip(_name_list, _recovery_mail_list))
for _name in name_mail_list:
_password = generate_password()
_phone = get_random_fr_phone_numbers()
_c = MailCreationPojo(_name, _password, _phone)
_mail = generate_mail_address(_name[0])
_c = MailCreationPojo(_name[0], _password, _mail, _name[1].mail, _name[1].password)
_generated_list.append(_c)
write_mail_creation_pojo_to_excel(_generated_list)