optimize local db

This commit is contained in:
2022-06-08 21:39:45 +02:00
parent 80d362b174
commit 20c84b2a14
9 changed files with 95 additions and 56 deletions
+8 -10
View File
@@ -12,9 +12,10 @@ import definitions
import params
from pojo.ModeEnum import ModeEnum
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
from pojo.captcha_error_contact_pojo import get_captcha_error_contact_from_contact, ERROR_TYPE_CAPTCHA, \
from pojo.captcha_error_contact_pojo import ERROR_TYPE_CAPTCHA, \
TOO_MANY_REQUEST_ERROR
from pojo.contact_pojo import ContactPojo
from utils.generate_random_passport_id import get_captcha_error_contact_from_contact
from workers.SolveCaptch import SolveCaptcha
RDV_URL = "https://rendezvousparis.hermes.com/client/register"
@@ -32,7 +33,7 @@ CONFIRMED_MESSAGE_FR = "Votre demande de rendez-vous Maroquinerie a bien été e
DOUBLE_REQUEST_ERROR_MESSAGE = "A request with the same data has already been validated today."
DOUBLE_REQUEST_ERROR_MESSAGE_FR = "Une demande avec les données saisies a déjà été validée aujourdhui."
TOO_MANY_REQUEST_ERROR_MESSAGE = "Due to a large number of requests"
TOO_MANY_REQUEST_ERROR_MESSAGE_FR = "Suite à un trop grand nombre de demandes aujourdhui,"
TOO_MANY_REQUEST_ERROR_MESSAGE_FR = "Suite à un trop grand nombre de demandes"
CAPTCHA_ERROR_MESSAGE = "Error verifying captcha, please try again"
CAPTCHA_ERROR_MESSAGE_FR = "La vérification du captcha a échoué"
TIME_OUT = 400000
@@ -98,11 +99,7 @@ class CommandorPage:
first_page = None
while first_page is None:
first_page = self.start_browser(proxy, self.tls.playwright, devices)
proxy = {
"server": params.BRIGHT_DATA_PROXY_SERVER,
"username": params.BRIGHT_DATA_PROXY_USERNAME,
"password": params.BRIGHT_DATA_PROXY_PASSWORD
}
proxy = params.get_proxy(self.proxy_type)
# wait for sms_code field
# self.clickOnValidBtn()
self.thread_event = e
@@ -132,7 +129,7 @@ class CommandorPage:
self.logger.info("填充信息: " + str(self.contact.phone))
self._set_name(self.contact.last_name, self.contact.first_name)
self._setPhoneCountryAndStore()
self._setPhoneNumber(self.contact.phone)
self._setPhoneNumber("0" + str(self.contact.phone))
self._set_email(self.contact.mail)
self.setIdNumber(self.contact.passport)
self._checkCgu()
@@ -255,7 +252,7 @@ class CommandorPage:
elif TOO_MANY_REQUEST_ERROR_MESSAGE in erro_content or TOO_MANY_REQUEST_ERROR_MESSAGE_FR in erro_content:
# this email has been already used
if not self.is_finished:
definitions.local_db_manager.insert_or_update(
params.local_db_manager.insert_or_update(
get_captcha_error_contact_from_contact(self.contact, TOO_MANY_REQUEST_ERROR))
params.oracle_log_sender.send_too_many_error(self.contact)
self.is_finished = True
@@ -265,7 +262,7 @@ class CommandorPage:
self.is_captcha_in_error = True
if not self.is_finished:
# save the error to database with contact info
definitions.local_db_manager.insert_or_update(
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.is_finished = True
@@ -331,6 +328,7 @@ class CommandorPage:
passport=contact.passport, ccid=contact.ccid)
result.id = id
params.firebase_store_manager.save(result)
params.local_db_manager.handle_success(result)
if status is PublishType.SUCCESS:
self.on_success(result)
time.sleep(2)