can retry the contacts in error

This commit is contained in:
Lei PAN
2022-06-16 12:57:10 +02:00
parent 636ef124d5
commit fe0e144a1a
5 changed files with 86 additions and 52 deletions
+13 -17
View File
@@ -127,9 +127,9 @@ class CommandorPage:
self.logger.info("填充信息: " + str(self.contact.phone))
self._set_name(self.contact.last_name, self.contact.first_name)
self._setPhoneCountryAndStore()
self._setPhoneNumber("0" + str(self.contact.phone))
self._set_phone_number("0" + str(self.contact.phone))
self._set_email(self.contact.mail)
self.setIdNumber(self.contact.passport)
self._set_id_number(self.contact.passport)
self._checkCgu()
if self.appointment_mode == ModeEnum.AUTOMATIC:
self.resolve_captcha()
@@ -205,7 +205,7 @@ class CommandorPage:
except Exception as error:
self.logger.error(error)
def _setPhoneNumber(self, phoneNumber):
def _set_phone_number(self, phoneNumber):
time.sleep(get_random_wait_time())
try:
self.page.evaluate("""(phoneNumber)=>document.getElementById("phone_number").value =phoneNumber""",
@@ -264,9 +264,7 @@ class CommandorPage:
self.is_captcha_in_error = True
if not self.is_finished:
# save the error to database with contact info
params.local_db_manager.insert_or_update(
get_captcha_error_contact_from_contact(self.contact, ERROR_TYPE_CAPTCHA))
params.oracle_log_sender.send_captcha_error(self.contact)
self.handle_captcha_error()
self.is_finished = True
# no need to retry captcha, if retry ,will generate DOUBLE_REQUEST_ERROR_MESSAGE
self.termine()
@@ -283,7 +281,7 @@ class CommandorPage:
except Exception as error:
self.logger.error(error)
def setIdNumber(self, id):
def _set_id_number(self, id):
time.sleep(get_random_wait_time())
try:
self.page.evaluate(""" (id) =>{
@@ -332,6 +330,7 @@ class CommandorPage:
result.store_type = self.store_type
params.firebase_store_manager.save(result)
params.local_db_manager.handle_success(result)
params.mongo_store_manager.delete_captcha_error_contact_for_current_day(self.contact)
if status is PublishType.SUCCESS:
self.on_success(result)
time.sleep(2)
@@ -360,13 +359,11 @@ class CommandorPage:
self.logger.error(error)
self.page.reload(timeout=PAGE_TIMEOUT)
def get_random_id_number() -> str:
S = 8 # number of characters in the string.
ran = ''.join(random.choices(string.digits, k=S))
id_number = "57" + str(ran)
print("The randomly generated string is : 94" + str(ran)) # print the random data
return id_number
def handle_captcha_error(self):
params.local_db_manager.insert_or_update(
get_captcha_error_contact_from_contact(self.contact, ERROR_TYPE_CAPTCHA))
params.mongo_store_manager.insert_captcha_error_contact(self.contact)
params.oracle_log_sender.send_captcha_error(self.contact)
def on_success(result: ReserveResultPojo):
@@ -374,12 +371,11 @@ def on_success(result: ReserveResultPojo):
def launch_page():
passport_number = get_random_id_number()
contact = ContactPojo(phone_number="+33758912245", passport_number=passport_number, last_name="XU",
contact = ContactPojo(phone_number="+33758912245", passport_number="82546975", last_name="XU",
first_name="xingzhen",
mail="ColbyPatel653@gmail.com", ccid="", position=0)
page = CommandorPage(contact, store_type=1)
return page.start_page(params.get_proxy())
return page.start_page(params.get_proxy(ProxyType.BRIGHT_DATA))
def wait_for_otp(event: threading.Event, commandor: CommandorPage):