add method to check names

This commit is contained in:
2024-05-17 21:49:53 +02:00
parent 8aa3f364cb
commit 677db7399e
+58 -19
View File
@@ -4,22 +4,56 @@ import random
import xlsxwriter import xlsxwriter
from src.db.mongo_manager import MONGO_STORE_MANAGER from src.db.mongo_manager import MONGO_STORE_MANAGER
from src.person_name.cython_extract_methods import filter_already_validated_contacts, read_pinyin_list_from_file
from src.pojo.contact_pojo import ContactPojo
from src.utils.contacts.generate_random_passport_id import get_random_passport_id_number
from src.utils.excel_reader import read_contacts, fr_phone_number_prefix, get_random_fr_phone_numbers, ExcelHelper from src.utils.excel_reader import read_contacts, fr_phone_number_prefix, get_random_fr_phone_numbers, ExcelHelper
def upload_contacts_list(): def upload_contacts_list():
_contacts_to_book = read_contacts("/Users/lpan/Desktop/contact_list_2024-04-18.xlsx") _contacts_to_book = read_contacts("/Users/lpan/Desktop/contact_list_2024-05-16.xlsx")
return _contacts_to_book return _contacts_to_book
def fix_phone_number_format(file_path): def fix_phone_number_format(file_path):
_contact_list = read_contacts(file_path) _contact_list = read_contacts(file_path)
for _contact in _contact_list: for _contact in _contact_list:
if _contact.first_name is None or len(_contact.first_name) == 0:
print(_contact)
# _contact.last_name.replace("\xa0", " ")
original_last_name = _contact.last_name
_contact.last_name = original_last_name.replace("\xa0", " ").split(" ")[0]
_contact.first_name = original_last_name.replace("\xa0", " ").split(" ")[1]
print(_contact)
if _contact.phone.startswith('7'): if _contact.phone.startswith('7'):
if _contact.phone[0:2] not in fr_phone_number_prefix: if _contact.phone[0:2] not in fr_phone_number_prefix:
print(_contact) print(_contact)
_contact.phone = get_random_fr_phone_numbers() _contact.phone = get_random_fr_phone_numbers()
write_new_contacts_to_excel(_contact_list, file_name="22_04_to_test") write_new_contacts_to_excel(_contact_list, file_name="15_05_to_test")
def generate_contact_from_mail_list(mail_list_file,
name_list_file_path="all_new_name_list.txt"):
execl_reader = ExcelHelper()
mail_list = execl_reader.read_mails_and_pwd(mail_list_file)
print("mail_list size is {}".format(len(mail_list)))
# print("mail_list size before filter is {}".format(len(mail_list)))
filter_already_validated_contacts(mail_list)
print("mail_list size after filter is {}".format(len(mail_list)))
generate_contacts = []
pinyin_name_list = read_pinyin_list_from_file(name_list_file_path)
random.shuffle(pinyin_name_list)
print(pinyin_name_list[0])
for mail in mail_list:
phone_number = get_random_fr_phone_numbers()
passport_number = get_random_passport_id_number()
name = random.choice(pinyin_name_list)
last_name = name.split(" ")[0]
first_name = name.split(" ")[1]
contact = ContactPojo(mail=mail.mail, phone_number=phone_number, passport_number=passport_number,
last_name=last_name, first_name=first_name, store="random")
generate_contacts.append(contact)
write_new_contacts_to_excel(generate_contacts)
def write_new_contacts_to_excel(valid_contacts: list, file_name=str(datetime.date.today())): def write_new_contacts_to_excel(valid_contacts: list, file_name=str(datetime.date.today())):
@@ -46,7 +80,7 @@ def write_new_contacts_to_excel(valid_contacts: list, file_name=str(datetime.dat
workbook.close() workbook.close()
def generate_valid_contact_list_for_day(sement_number=1): def generate_valid_contact_list_for_day(segment_number=1):
_valid_contact_list = MONGO_STORE_MANAGER.get_all_successful_items_for_day() _valid_contact_list = MONGO_STORE_MANAGER.get_all_successful_items_for_day()
_all_contacts = MONGO_STORE_MANAGER.get_all_contacts_to_book() _all_contacts = MONGO_STORE_MANAGER.get_all_contacts_to_book()
_contact_to_save = [] _contact_to_save = []
@@ -74,15 +108,10 @@ def generate_valid_contact_list_for_day(sement_number=1):
_need_to_save = False _need_to_save = False
if _need_to_save: if _need_to_save:
_contact_to_save.append(_contact) _contact_to_save.append(_contact)
# if _contact.mail == "talasapdne@gmx.de":
# print(_contact.__hash__())
# if _contact not in _contact_to_save:
# _contact_to_save.add(_contact)
_contact_to_save_list = _contact_to_save _contact_to_save_list = _contact_to_save
write_new_contacts_to_excel(_contact_to_save_list) write_new_contacts_to_excel(_contact_to_save_list)
for i in range(0, sement_number): for i in range(0, segment_number):
_step = int(len(_contact_to_save_list) / sement_number) _step = int(len(_contact_to_save_list) / segment_number)
_sublist = _contact_to_save_list[i * _step:_step * (i + 1)] _sublist = _contact_to_save_list[i * _step:_step * (i + 1)]
_file_name = str(datetime.date.today()) + "_" + str(i + 1) _file_name = str(datetime.date.today()) + "_" + str(i + 1)
write_new_contacts_to_excel(_sublist, file_name=_file_name) write_new_contacts_to_excel(_sublist, file_name=_file_name)
@@ -112,14 +141,24 @@ def generate_all_contact_list():
if __name__ == '__main__': if __name__ == '__main__':
# contacts_to_book = upload_contacts_list() # contacts_to_book = upload_contacts_list()
# MONGO_STORE_MANAGER.upload_contact_list(contacts_to_book) # MONGO_STORE_MANAGER.upload_contact_list(contacts_to_book)
generate_valid_contact_list_for_day(sement_number=2) # print("start at {}".format(datetime.datetime.now()))
generate_valid_contact_list_for_day(segment_number=2)
# generate_contact_from_mail_list("/Users/lpan/Downloads/邮箱及密码.xlsx")
# print("end at {}".format(datetime.datetime.now()))
# generate_all_contact_list() # generate_all_contact_list()
# merge_contact_list_files( # merge_contact_list_files(
# ["/Users/lpan/Desktop/20_04_to_test_1.xlsx", # ["/Users/lpan/Desktop/contact_list_2024-05-07.xlsx",
# "/Users/lpan/Desktop/19_04_to_test.xlsx", # "/Users/lpan/Desktop/contact_list_2024-05-06.xlsx",
# "/Users/lpan/Desktop/17_18_04_to_test.xlsx", # "/Users/lpan/Desktop/contact_list_2024-05-04.xlsx",
# "/Users/lpan/Desktop/09_04_to_test.xlsx", # "/Users/lpan/Desktop/contact_list_2024-05-03.xlsx",
# "/Users/lpan/Desktop/31_03_to_test.xlsx", # "/Users/lpan/Desktop/contact_list_2024-05-02.xlsx",
# "/Users/lpan/Desktop/12_04_to_test.xlsx", # "/Users/lpan/Desktop/contact_list_2024-04-30.xlsx",
# "/Users/lpan/Desktop/16_04_to_test.xlsx"]) # "/Users/lpan/Desktop/contact_list_2024-04-26.xlsx",
# fix_phone_number_format("/Users/lpan/Desktop/22_04_to_test.xlsx") # "/Users/lpan/Desktop/contact_list_2024-04-25.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-24.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-23.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-22.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-20.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-18.xlsx",
# "/Users/lpan/Desktop/contact_list_2024-04-19.xlsx"])
# fix_phone_number_format("/Users/lpan/Desktop/15_05_to_test.xlsx")