Merge remote-tracking branch 'origin/feature/auto_with_checkresults' into feature/auto_with_checkresults

This commit is contained in:
2022-06-08 21:41:23 +02:00
7 changed files with 25 additions and 14 deletions
+6 -1
View File
@@ -30,6 +30,7 @@ class ReserveResultPojo:
sim_position = None sim_position = None
ccid: str = "" ccid: str = ""
source_from: str = definitions.LOG_SOURCE source_from: str = definitions.LOG_SOURCE
store_type = 0
@staticmethod @staticmethod
def from_firestore_dict(source): def from_firestore_dict(source):
@@ -62,6 +63,9 @@ class ReserveResultPojo:
if 'ccid' in source: if 'ccid' in source:
ccid = source['ccid'] ccid = source['ccid']
result.ccid = ccid result.ccid = ccid
if 'store_type' in source:
store_type = source['store_type']
result.store_type = store_type
result.id = id result.id = id
return result return result
@@ -79,7 +83,8 @@ class ReserveResultPojo:
u'sim_position': self.sim_position, u'sim_position': self.sim_position,
u'slot_position': self.slot_position, u'slot_position': self.slot_position,
u'ccid': self.ccid, u'ccid': self.ccid,
u'source_from': self.source_from u'source_from': self.source_from,
u'store_type': self.store_type,
} }
return dest return dest
+4 -3
View File
@@ -7,8 +7,9 @@ import xlsxwriter
from definitions import CONTACT_LIST_FILE from definitions import CONTACT_LIST_FILE
from pojo.contact_pojo import ContactPojo from pojo.contact_pojo import ContactPojo
from utils.generate_random_passport_id import get_random_passport_id_number
phone_number_prefix = ['6', '7'] phone_number_prefix = ['6']
class ExcelHelper: class ExcelHelper:
@@ -122,7 +123,7 @@ def write_new_contacts_to_excel(valid_contacts: list):
row = row + 1 row = row + 1
for info in valid_contacts: for info in valid_contacts:
info.phone = get_random_phone_numbers() info.phone = get_random_phone_numbers()
info.passport = get_random_id_number() info.passport = get_random_passport_id_number()
info.mail = generate_email_from_name(info.first_name, info.last_name) info.mail = generate_email_from_name(info.first_name, info.last_name)
# Iterate over the data and write it out row by row. # 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, "{} {}".format(info.last_name, info.first_name))
@@ -135,6 +136,6 @@ def write_new_contacts_to_excel(valid_contacts: list):
if __name__ == '__main__': if __name__ == '__main__':
excel_reader = ExcelHelper() excel_reader = ExcelHelper()
contacts = excel_reader.read_names("C:/Users/landd/Downloads/names.xlsx") contacts = excel_reader.read_names("C:/Users/landd/Desktop/rdv/08-06/500.xlsx")
print(contacts) print(contacts)
write_new_contacts_to_excel(valid_contacts=contacts) write_new_contacts_to_excel(valid_contacts=contacts)
+1 -1
View File
@@ -19,7 +19,7 @@ def get_random_id_number() -> str:
def write_the_valid_profiles_to_excel(): def write_the_valid_profiles_to_excel():
day_list = ['2022-05-30'] day_list = ['2022-06-02']
collection = [] collection = []
for day in day_list: for day in day_list:
+7 -5
View File
@@ -1,11 +1,13 @@
import random import random
import string import string
# letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'P', 'Q', 'R', 'S', 'T', '1', '2', '3', '4', '5', '6', '7',
# '8', '9']
from pojo.captcha_error_contact_pojo import ContactInErrorPojo from pojo.captcha_error_contact_pojo import ContactInErrorPojo
from pojo.contact_pojo import ContactPojo from pojo.contact_pojo import ContactPojo
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'P', 'Q', 'R', 'S', 'T', '1', '2', '3', '4', '5', '6', '7', letters = ['E', 'G', 'M']
'8', '9']
def get_random_id_number() -> str: def get_random_id_number() -> str:
@@ -14,11 +16,11 @@ def get_random_id_number() -> str:
id_number = str(ran) id_number = str(ran)
return id_number return id_number
# 产生中国护照号
def get_random_passport_id_number() -> str: def get_random_passport_id_number() -> str:
S = 7 # number of characters in the string. S = 8 # number of characters in the string.
ran = ''.join(random.choices(string.digits, k=S)) ran = ''.join(random.choices(string.digits, k=S))
id_number = "E" + random.choice(letters) + str(ran) id_number = random.choice(letters) + str(ran)
return id_number return id_number
+1 -1
View File
@@ -13,7 +13,7 @@ def generate_names() -> list:
if __name__ == '__main__': if __name__ == '__main__':
for i in range(0, 5): for i in range(0, 500):
names = generate_names() names = generate_names()
for name in names: for name in names:
print(name) print(name)
Binary file not shown.
+6 -3
View File
@@ -27,7 +27,7 @@ REGEX_RDV_URL = "https:\/\/rendezvousparis\.hermes\.com\/client\/register\/[A-Z0
otp_value = None otp_value = None
OTP_FIELD_ID = "#sms_code" OTP_FIELD_ID = "#sms_code"
MESSAGE_FIELD_CLASS = ".message" MESSAGE_FIELD_CLASS = ".message"
BLANK_URL = "about:blank"
CONFIRMED_MESSAGE = "Your request for a Leather Goods appointment has been registered" CONFIRMED_MESSAGE = "Your request for a Leather Goods appointment has been registered"
CONFIRMED_MESSAGE_FR = "Votre demande de rendez-vous Maroquinerie a bien été enregistrée et nous vous en remercions." CONFIRMED_MESSAGE_FR = "Votre demande de rendez-vous Maroquinerie a bien été enregistrée et nous vous en remercions."
DOUBLE_REQUEST_ERROR_MESSAGE = "A request with the same data has already been validated today." DOUBLE_REQUEST_ERROR_MESSAGE = "A request with the same data has already been validated today."
@@ -56,7 +56,7 @@ class CommandorPage:
def __init__(self, contact: ContactPojo, store_type=0, proxy_type=0, mode: ModeEnum = ModeEnum.MANUAL): def __init__(self, contact: ContactPojo, store_type=0, proxy_type=0, mode: ModeEnum = ModeEnum.MANUAL):
self.otp_value = None self.otp_value = None
self.logger = logging.getLogger("CommandorPage:" + str(contact.phone)) self.logger = logging.getLogger("约会页面:" + str(contact.phone))
self.is_finished = False self.is_finished = False
self.contact = contact self.contact = contact
self.proxy_type = proxy_type self.proxy_type = proxy_type
@@ -232,7 +232,9 @@ class CommandorPage:
def get_errors(self): def get_errors(self):
# send error result # send error result
self.publish_message_to_queue(self.contact, PublishType.ERROR, self.page.url) if self.page.url != BLANK_URL:
# no need to push blank url to db
self.publish_message_to_queue(self.contact, PublishType.ERROR, self.page.url)
try: try:
items = self.page.query_selector("div.alert") items = self.page.query_selector("div.alert")
if items: if items:
@@ -327,6 +329,7 @@ class CommandorPage:
firstName=contact.first_name, lastName=contact.last_name, email=contact.mail, firstName=contact.first_name, lastName=contact.last_name, email=contact.mail,
passport=contact.passport, ccid=contact.ccid) passport=contact.passport, ccid=contact.ccid)
result.id = id result.id = id
result.store_type = self.store_type
params.firebase_store_manager.save(result) params.firebase_store_manager.save(result)
params.local_db_manager.handle_success(result) params.local_db_manager.handle_success(result)
if status is PublishType.SUCCESS: if status is PublishType.SUCCESS: