diff --git a/src/person_name/generate_name_for_email_creation.py b/src/person_name/generate_name_for_email_creation.py index 449983c..ab3732a 100644 --- a/src/person_name/generate_name_for_email_creation.py +++ b/src/person_name/generate_name_for_email_creation.py @@ -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)