80 lines
3.1 KiB
Python
Executable File
80 lines
3.1 KiB
Python
Executable File
import datetime
|
|
import random
|
|
|
|
import xlsxwriter
|
|
|
|
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
|
from src.utils.excel_reader import read_contacts, fr_phone_number_prefix, get_random_fr_phone_numbers
|
|
|
|
|
|
def upload_contacts_list():
|
|
_contacts_to_book = read_contacts("/Users/lpan/Desktop/contact_list_2024-02-12.xlsx")
|
|
return _contacts_to_book
|
|
|
|
|
|
def fix_phone_number_format(file_path):
|
|
_contact_list = read_contacts(file_path)
|
|
for _contact in _contact_list:
|
|
if _contact.phone.startswith('7'):
|
|
if _contact.phone[0:2] not in fr_phone_number_prefix:
|
|
print(_contact)
|
|
_contact.phone = get_random_fr_phone_numbers()
|
|
write_new_contacts_to_excel(_contact_list, file_name="yahoo_aol_valid_26-1")
|
|
|
|
|
|
def write_new_contacts_to_excel(valid_contacts: list, file_name=str(datetime.date.today())):
|
|
row = 0
|
|
col = 0
|
|
# Create a workbook and add a worksheet.
|
|
workbook = xlsxwriter.Workbook('contact_list_{}.xlsx'.format(file_name))
|
|
header_data = ['name', 'phone', 'passport', 'email', 'store', 'ip_country']
|
|
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:
|
|
# 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)
|
|
worksheet.write(row, col + 4, info.store)
|
|
worksheet.write(row, col + 5, info.ip_country)
|
|
row += 1
|
|
workbook.close()
|
|
|
|
|
|
def generate_valid_contact_list_for_day():
|
|
_valid_contact_list = MONGO_STORE_MANAGER.get_all_successful_items_for_day()
|
|
_all_contacts = MONGO_STORE_MANAGER.get_all_contacts_to_book()
|
|
_contact_to_save = []
|
|
for _contact in _valid_contact_list:
|
|
if _contact.last_name is None or len(_contact.last_name) == 0:
|
|
for _true_contact in _all_contacts:
|
|
if _true_contact.mail == _contact.mail:
|
|
_contact.last_name = _true_contact.last_name
|
|
_contact.phone = _true_contact.phone
|
|
_contact.passport = _true_contact.passport
|
|
_contact.first_name = _true_contact.first_name
|
|
|
|
if _contact.url_validated:
|
|
_contact_to_save.append(_contact)
|
|
write_new_contacts_to_excel(_contact_to_save)
|
|
|
|
|
|
def generate_all_contact_list():
|
|
_all_contacts = MONGO_STORE_MANAGER.get_all_contacts_to_book()
|
|
random.shuffle(_all_contacts)
|
|
write_new_contacts_to_excel(_all_contacts, file_name="all")
|
|
|
|
|
|
# 把新的联系人存到网上
|
|
if __name__ == '__main__':
|
|
# contacts_to_book = upload_contacts_list()
|
|
# MONGO_STORE_MANAGER.upload_contact_list(contacts_to_book)
|
|
generate_valid_contact_list_for_day()
|
|
# generate_all_contact_list()
|
|
# fix_phone_number_format("/Users/lpan/Desktop/yahoo_aol_valid_26-1.xlsx")
|