optimise the patch
This commit is contained in:
@@ -49,17 +49,11 @@ class DataManager:
|
|||||||
doc_ref.set(sim_info.to_firestore_dict())
|
doc_ref.set(sim_info.to_firestore_dict())
|
||||||
|
|
||||||
def save(self, result: ReserveResultPojo):
|
def save(self, result: ReserveResultPojo):
|
||||||
if result.type == PublishType.SUCCESS:
|
|
||||||
# get id
|
|
||||||
id = result.url.split("/")[-1]
|
id = result.url.split("/")[-1]
|
||||||
result.id = id
|
result.id = id
|
||||||
document_name = str(datetime.date.today())
|
document_name = str(datetime.date.today())
|
||||||
doc_ref = self._db.collection(document_name).document(result.id)
|
doc_ref = self._db.collection(document_name).document(result.id)
|
||||||
doc_ref.set(result.to_firestore_dict())
|
doc_ref.set(result.to_firestore_dict())
|
||||||
else:
|
|
||||||
if len(result.phone) > 0:
|
|
||||||
doc_ref = self._db.collection(ERROR_COLLECTION_NAME).document(result.phone)
|
|
||||||
doc_ref.set(result.to_firestore_dict())
|
|
||||||
|
|
||||||
def find_appointment_detail_via_phone(self, day, phone) -> ReserveResultPojo:
|
def find_appointment_detail_via_phone(self, day, phone) -> ReserveResultPojo:
|
||||||
doc_ref = self._db.collection(day)
|
doc_ref = self._db.collection(day)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from utils.excel_reader import ExcelHelper
|
|||||||
from utils.operator import Operator, check_operator
|
from utils.operator import Operator, check_operator
|
||||||
|
|
||||||
RDV_URL = "https://rendezvousparis.hermes.com/client/register"
|
RDV_URL = "https://rendezvousparis.hermes.com/client/register"
|
||||||
#
|
|
||||||
# RDV_URL = "file:///Users/lpan/Downloads/test_appointment.html"
|
# RDV_URL = "file:///Users/lpan/Downloads/test_appointment.html"
|
||||||
# RDV_URL = "https://api.ipify.org"
|
# RDV_URL = "https://api.ipify.org"
|
||||||
# RDV_URL ="https://bot.sannysoft.com/"
|
# RDV_URL ="https://bot.sannysoft.com/"
|
||||||
@@ -59,10 +59,7 @@ class CommandorPage:
|
|||||||
|
|
||||||
def on_success(self, result: ReserveResultPojo):
|
def on_success(self, result: ReserveResultPojo):
|
||||||
self.logger.info("on_success called.")
|
self.logger.info("on_success called.")
|
||||||
result.sim_position = self.sim_position
|
|
||||||
result.slot_position = self.slot_position
|
|
||||||
self.logger.info(result)
|
self.logger.info(result)
|
||||||
params.firebase_store_manager.save(result)
|
|
||||||
params.oracle_log_sender.send_appoint_result(result)
|
params.oracle_log_sender.send_appoint_result(result)
|
||||||
self.current_gsm_modem.modem.close()
|
self.current_gsm_modem.modem.close()
|
||||||
self.is_finished = True
|
self.is_finished = True
|
||||||
@@ -170,7 +167,7 @@ class CommandorPage:
|
|||||||
if CONFIRMED_MESSAGE in message:
|
if CONFIRMED_MESSAGE in message:
|
||||||
# publish the successful message
|
# publish the successful message
|
||||||
self.logger.info("url is " + self.page.url)
|
self.logger.info("url is " + self.page.url)
|
||||||
self.publish_message_to_queue(self.contact, PublishType.SUCCESS.value, self.page.url)
|
self.publish_message_to_queue(self.contact, PublishType.SUCCESS, self.page.url)
|
||||||
else:
|
else:
|
||||||
self.logger.info("timeout")
|
self.logger.info("timeout")
|
||||||
self.reset_air_plan_mode()
|
self.reset_air_plan_mode()
|
||||||
@@ -218,6 +215,7 @@ class CommandorPage:
|
|||||||
|
|
||||||
def _setPhoneCountryAndStore(self):
|
def _setPhoneCountryAndStore(self):
|
||||||
# document.getElementById("prefer").value = \"faubourg\";
|
# document.getElementById("prefer").value = \"faubourg\";
|
||||||
|
try:
|
||||||
if self.store_type == 0:
|
if self.store_type == 0:
|
||||||
self.page.evaluate("""()=>{
|
self.page.evaluate("""()=>{
|
||||||
document.getElementById("phone_country").focus();
|
document.getElementById("phone_country").focus();
|
||||||
@@ -227,23 +225,31 @@ class CommandorPage:
|
|||||||
document.getElementById("prefer").value = \"faubourg\";
|
document.getElementById("prefer").value = \"faubourg\";
|
||||||
document.getElementById("phone_country").focus();
|
document.getElementById("phone_country").focus();
|
||||||
document.getElementById("phone_country").value = \"FR\" }""")
|
document.getElementById("phone_country").value = \"FR\" }""")
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def _setPhoneNumber(self, phoneNumber):
|
def _setPhoneNumber(self, phoneNumber):
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
|
try:
|
||||||
self.page.evaluate("""(phoneNumber)=>document.getElementById("phone_number").value =phoneNumber""",
|
self.page.evaluate("""(phoneNumber)=>document.getElementById("phone_number").value =phoneNumber""",
|
||||||
phoneNumber)
|
phoneNumber)
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def _setName(self, lastName, firstName):
|
def _setName(self, lastName, firstName):
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
|
try:
|
||||||
self.page.evaluate("""(name)=> {
|
self.page.evaluate("""(name)=> {
|
||||||
document.getElementById("surname").focus();
|
document.getElementById("surname").focus();
|
||||||
document.getElementById("surname").value = name.lastName;
|
document.getElementById("surname").value = name.lastName;
|
||||||
document.getElementById("name").focus();
|
document.getElementById("name").focus();
|
||||||
document.getElementById("name").value = name.firstName}""", {'lastName': lastName, 'firstName': firstName})
|
document.getElementById("name").value = name.firstName}""", {'lastName': lastName, 'firstName': firstName})
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def getErrors(self):
|
def getErrors(self):
|
||||||
# send error result
|
# send error result
|
||||||
self.publish_message_to_queue(self.contact, PublishType.ERROR.value, self.page.url)
|
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:
|
||||||
@@ -253,31 +259,43 @@ class CommandorPage:
|
|||||||
|
|
||||||
def _set_email(self, email):
|
def _set_email(self, email):
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
|
try:
|
||||||
self.page.evaluate("""(email)=>{
|
self.page.evaluate("""(email)=>{
|
||||||
document.getElementById("email").focus();
|
document.getElementById("email").focus();
|
||||||
document.getElementById("email").value = email;}""", email)
|
document.getElementById("email").value = email;}""", email)
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def setIdNumber(self, id):
|
def setIdNumber(self, id):
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
|
try:
|
||||||
self.page.evaluate(""" (id) =>{
|
self.page.evaluate(""" (id) =>{
|
||||||
document.getElementById("passport_id").focus();
|
document.getElementById("passport_id").focus();
|
||||||
document.getElementById("passport_id").value = id}""", id)
|
document.getElementById("passport_id").value = id}""", id)
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def _checkCgu(self):
|
def _checkCgu(self):
|
||||||
# self.page.mouse.wheel(0, random.randint(200, 600))
|
# self.page.mouse.wheel(0, random.randint(200, 600))
|
||||||
|
try:
|
||||||
self.page.evaluate("""
|
self.page.evaluate("""
|
||||||
document.getElementById("cgu").focus();
|
document.getElementById("cgu").focus();
|
||||||
document.getElementById("cgu").checked = true;
|
document.getElementById("cgu").checked = true;
|
||||||
document.getElementById("processing").focus();
|
document.getElementById("processing").focus();
|
||||||
document.getElementById("processing").checked = true""")
|
document.getElementById("processing").checked = true""")
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def clickOnValidBtn(self):
|
def clickOnValidBtn(self):
|
||||||
# self.page.mouse.wheel(0, random.randint(400, 500))
|
# self.page.mouse.wheel(0, random.randint(400, 500))
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
|
try:
|
||||||
self.page.evaluate("""document.getElementsByClassName("btn")[0].focus();""")
|
self.page.evaluate("""document.getElementsByClassName("btn")[0].focus();""")
|
||||||
time.sleep(get_random_wait_time())
|
time.sleep(get_random_wait_time())
|
||||||
self.page.evaluate("""
|
self.page.evaluate("""
|
||||||
document.getElementsByClassName("btn")[0].click();""")
|
document.getElementsByClassName("btn")[0].click();""")
|
||||||
|
except Exception as error:
|
||||||
|
self.logger.error(error)
|
||||||
|
|
||||||
def clear_app_data(self):
|
def clear_app_data(self):
|
||||||
pass
|
pass
|
||||||
@@ -291,13 +309,17 @@ class CommandorPage:
|
|||||||
self.logger.info("will close browser")
|
self.logger.info("will close browser")
|
||||||
self.browser.close()
|
self.browser.close()
|
||||||
|
|
||||||
def publish_message_to_queue(self, contact: ContactPojo, message: str, url: str):
|
def publish_message_to_queue(self, contact: ContactPojo, status: PublishType, url: str):
|
||||||
# create the message
|
# create the message
|
||||||
id = url.split("/")[-1]
|
id = url.split("/")[-1]
|
||||||
result = ReserveResultPojo(type=PublishType.SUCCESS, phone=contact.phone, message=message, url=url,
|
result = ReserveResultPojo(type=status, phone=contact.phone, message=status.value, url=url,
|
||||||
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.sim_position = self.sim_position
|
||||||
|
result.slot_position = self.slot_position
|
||||||
|
params.firebase_store_manager.save(result)
|
||||||
|
if status is PublishType.SUCCESS:
|
||||||
self.on_success(result)
|
self.on_success(result)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
self.browser.close()
|
self.browser.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user