add method to generate list to register
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import datetime
|
||||
import random
|
||||
|
||||
import xlsxwriter
|
||||
|
||||
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
||||
|
||||
|
||||
def generate_list_to_register():
|
||||
_valid_contact_list = MONGO_STORE_MANAGER.get_all_successful_items_for_day()
|
||||
_already_registered_list = MONGO_STORE_MANAGER.get_all_registered_users()
|
||||
_contact_list_to_register = []
|
||||
for _contact in _valid_contact_list:
|
||||
_to_add = True
|
||||
for _registered_user in _already_registered_list:
|
||||
if _contact.mail == _registered_user.mail:
|
||||
_to_add = False
|
||||
break
|
||||
if _to_add:
|
||||
_contact_list_to_register.append(_contact)
|
||||
return _contact_list_to_register
|
||||
|
||||
|
||||
def write_new_contacts_to_register_to_excel(valid_contacts: list, file_name=str(datetime.date.today())):
|
||||
_address_list = MONGO_STORE_MANAGER.get_all_address_list()
|
||||
row = 0
|
||||
col = 0
|
||||
# Create a workbook and add a worksheet.
|
||||
workbook = xlsxwriter.Workbook('to_register_list_{}.xlsx'.format(file_name))
|
||||
header_data = ['firstName', 'lastName', 'password', 'email', 'phone', 'address', 'city', 'zipCode']
|
||||
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
|
||||
_choosed_address = random.choice(_address_list)
|
||||
for info in valid_contacts:
|
||||
_password = "Rdv@{}".format(random.randint(20222021, 20222300))
|
||||
# Iterate over the data and write it out row by row.
|
||||
worksheet.write(row, col, info.first_name)
|
||||
worksheet.write(row, col + 1, info.last_name)
|
||||
worksheet.write(row, col + 2, _password)
|
||||
worksheet.write(row, col + 3, info.mail)
|
||||
worksheet.write(row, col + 4, info.phone)
|
||||
worksheet.write(row, col + 5, _choosed_address.address)
|
||||
worksheet.write(row, col + 6, _choosed_address.city)
|
||||
worksheet.write(row, col + 7, _choosed_address.zip_code)
|
||||
row += 1
|
||||
workbook.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
write_new_contacts_to_register_to_excel(generate_list_to_register())
|
||||
Reference in New Issue
Block a user