diff --git a/pojo/ReserveResultPojo.py b/pojo/ReserveResultPojo.py index 5c6b23f..73d908a 100644 --- a/pojo/ReserveResultPojo.py +++ b/pojo/ReserveResultPojo.py @@ -30,6 +30,7 @@ class ReserveResultPojo: sim_position = None ccid: str = "" source_from: str = definitions.LOG_SOURCE + store_type = 0 @staticmethod def from_firestore_dict(source): @@ -62,6 +63,9 @@ class ReserveResultPojo: if 'ccid' in source: ccid = source['ccid'] result.ccid = ccid + if 'store_type' in source: + store_type = source['store_type'] + result.store_type = store_type result.id = id return result @@ -79,7 +83,8 @@ class ReserveResultPojo: u'sim_position': self.sim_position, u'slot_position': self.slot_position, u'ccid': self.ccid, - u'source_from': self.source_from + u'source_from': self.source_from, + u'store_type': self.store_type, } return dest diff --git a/utils/excel_reader.py b/utils/excel_reader.py index c95ecc7..faba582 100644 --- a/utils/excel_reader.py +++ b/utils/excel_reader.py @@ -7,8 +7,9 @@ import xlsxwriter from definitions import CONTACT_LIST_FILE 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: @@ -122,7 +123,7 @@ def write_new_contacts_to_excel(valid_contacts: list): row = row + 1 for info in valid_contacts: 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) # Iterate over the data and write it out row by row. 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__': 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) write_new_contacts_to_excel(valid_contacts=contacts) diff --git a/utils/export_valid_profiles.py b/utils/export_valid_profiles.py index 6ef769b..c8d3112 100644 --- a/utils/export_valid_profiles.py +++ b/utils/export_valid_profiles.py @@ -19,7 +19,7 @@ def get_random_id_number() -> str: def write_the_valid_profiles_to_excel(): - day_list = ['2022-05-30'] + day_list = ['2022-06-02'] collection = [] for day in day_list: diff --git a/utils/generate_random_passport_id.py b/utils/generate_random_passport_id.py index 66f5d2c..7843e64 100644 --- a/utils/generate_random_passport_id.py +++ b/utils/generate_random_passport_id.py @@ -1,11 +1,13 @@ import random 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.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', - '8', '9'] +letters = ['E', 'G', 'M'] def get_random_id_number() -> str: @@ -14,11 +16,11 @@ def get_random_id_number() -> str: id_number = str(ran) return id_number - +# 产生中国护照号 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)) - id_number = "E" + random.choice(letters) + str(ran) + id_number = random.choice(letters) + str(ran) return id_number diff --git a/utils/name_generator.py b/utils/name_generator.py index c83167d..96686c6 100644 --- a/utils/name_generator.py +++ b/utils/name_generator.py @@ -13,7 +13,7 @@ def generate_names() -> list: if __name__ == '__main__': - for i in range(0, 5): + for i in range(0, 500): names = generate_names() for name in names: print(name) diff --git a/utils/new_profile_1001.xlsx b/utils/new_profile_1001.xlsx new file mode 100644 index 0000000..bad1b82 Binary files /dev/null and b/utils/new_profile_1001.xlsx differ diff --git a/workers/commandor_page.py b/workers/commandor_page.py index ac7f9f8..3b78e95 100644 --- a/workers/commandor_page.py +++ b/workers/commandor_page.py @@ -27,7 +27,7 @@ REGEX_RDV_URL = "https:\/\/rendezvousparis\.hermes\.com\/client\/register\/[A-Z0 otp_value = None OTP_FIELD_ID = "#sms_code" MESSAGE_FIELD_CLASS = ".message" - +BLANK_URL = "about:blank" 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." 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): self.otp_value = None - self.logger = logging.getLogger("CommandorPage:" + str(contact.phone)) + self.logger = logging.getLogger("约会页面:" + str(contact.phone)) self.is_finished = False self.contact = contact self.proxy_type = proxy_type @@ -232,7 +232,9 @@ class CommandorPage: def get_errors(self): # 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: items = self.page.query_selector("div.alert") if items: @@ -327,6 +329,7 @@ class CommandorPage: firstName=contact.first_name, lastName=contact.last_name, email=contact.mail, passport=contact.passport, ccid=contact.ccid) result.id = id + result.store_type = self.store_type params.firebase_store_manager.save(result) params.local_db_manager.handle_success(result) if status is PublishType.SUCCESS: