no need to set preferred store

This commit is contained in:
2022-03-25 22:13:20 +01:00
parent 892a93bd92
commit a025c8c9fa
3 changed files with 32 additions and 23 deletions
+29 -17
View File
@@ -1,5 +1,6 @@
import random import random
from enum import Enum from enum import Enum
from typing import Union
from playwright.sync_api import sync_playwright from playwright.sync_api import sync_playwright
@@ -14,6 +15,7 @@ PENDING_SENTENCE = "Ce soir, entre 20:00 et 20:30, vous obtiendrez une réponse
user_agent_list = ExcelHelper().read_user_agent_list() user_agent_list = ExcelHelper().read_user_agent_list()
class ResultEnum(Enum): class ResultEnum(Enum):
ACCEPTED = "ACCEPTED" ACCEPTED = "ACCEPTED"
REFUSED = "REFUSED" REFUSED = "REFUSED"
@@ -28,24 +30,11 @@ def check_result_page(url) -> ResultEnum:
def run(playwright, url) -> ResultEnum: def run(playwright, url) -> ResultEnum:
browser = playwright.firefox.launch(headless=False) browser = playwright.firefox.launch(headless=False)
PROXY_USERNAME = "panleicim-cc-fr-sid-" + get_random_id_number_for_proxy()
proxy = {
"server": params.PROXY_SERVER,
"username": PROXY_USERNAME,
"password": params.PROXY_PASSWORD
}
firefox_user_agents = filter(lambda user_agent: "firefox" in user_agent.lower(), user_agent_list)
firefox_user_agents_list = list(firefox_user_agents)
user_agent = random.choice(firefox_user_agents_list)
page = browser.new_page(
user_agent=user_agent,
proxy=proxy)
page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
url_to_check = url.replace("register/", "") url_to_check = url.replace("register/", "")
url_to_check = url_to_check + "?lang=fr" url_to_check = url_to_check + "?lang=fr"
print(url_to_check) content = None
page.goto(url_to_check,timeout=90000) while content is None:
content = page.content() content = load_page(browser, url_to_check)
print(content) print(content)
browser.close() browser.close()
if SORRY_SENTENCE in content: if SORRY_SENTENCE in content:
@@ -59,6 +48,28 @@ def run(playwright, url) -> ResultEnum:
return ResultEnum.ACCEPTED return ResultEnum.ACCEPTED
def load_page(browser, url) -> Union[str, None]:
try:
PROXY_USERNAME = "panleicim-cc-fr-sid-" + get_random_id_number_for_proxy()
proxy = {
"server": params.PROXY_SERVER,
"username": PROXY_USERNAME,
"password": params.PROXY_PASSWORD
}
firefox_user_agents = filter(lambda user_agent: "firefox" in user_agent.lower(), user_agent_list)
firefox_user_agents_list = list(firefox_user_agents)
user_agent = random.choice(firefox_user_agents_list)
page = browser.new_page(
user_agent=user_agent,
proxy=proxy)
page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
page.goto(url, timeout=90000)
return page.content()
except Exception as error:
print(error)
return None
# need to start at 21h00 # need to start at 21h00
if __name__ == '__main__': if __name__ == '__main__':
# get the list # get the list
@@ -71,7 +82,8 @@ if __name__ == '__main__':
reserve_pojo = ReserveResultPojo.from_firestore_dict(appointment.to_dict()) reserve_pojo = ReserveResultPojo.from_firestore_dict(appointment.to_dict())
if reserve_pojo.accepted: if reserve_pojo.accepted:
print("status is " + reserve_pojo.accepted) print("status is " + reserve_pojo.accepted)
if reserve_pojo.accepted is None or ResultEnum.PENDING.value == reserve_pojo.accepted: if reserve_pojo.accepted is None:
# or ResultEnum.PENDING.value == reserve_pojo.accepted:
result = check_result_page(reserve_pojo.url) result = check_result_page(reserve_pojo.url)
collection.document(reserve_pojo.id).update({u'accepted': result.name}) collection.document(reserve_pojo.id).update({u'accepted': result.name})
print(count) print(count)
+1 -1
View File
@@ -101,8 +101,8 @@ class CommandorPage:
print("on_document_loaded called") print("on_document_loaded called")
def _setPhoneCountryAndStore(self): def _setPhoneCountryAndStore(self):
# document.getElementById("prefer").value = \"faubourg\";
self.page.evaluate("""()=>{ self.page.evaluate("""()=>{
document.getElementById("prefer").value = \"faubourg\";
document.getElementById("phone_country").value = \"FR\" }""") document.getElementById("phone_country").value = \"FR\" }""")
def _setPhoneNumber(self, phoneNumber): def _setPhoneNumber(self, phoneNumber):
+2 -5
View File
@@ -13,7 +13,6 @@ from modems.card_pool import CardPool
from params import MODEM_POOL_PORTS, CARD_POOL_PORT from params import MODEM_POOL_PORTS, CARD_POOL_PORT
from pojo.serial_modem import SerialModem from pojo.serial_modem import SerialModem
from utils.excel_reader import ExcelHelper from utils.excel_reader import ExcelHelper
from utils.operator import check_operator, Operator
OTP_TIMEOUT = 40 OTP_TIMEOUT = 40
commandor = CommandorPage() commandor = CommandorPage()
@@ -46,8 +45,6 @@ def timeout_occurred(serial_modem: SerialModem):
def start_to_handle_sms(serial_modem: SerialModem): def start_to_handle_sms(serial_modem: SerialModem):
global current_gsm_modem global current_gsm_modem
current_gsm_modem = serial_modem.modem current_gsm_modem = serial_modem.modem
# if check_operator(serial_modem.ccid) == Operator.LYCAMOBILE:
# lycamobile
try: try:
current_gsm_modem.deleteMultipleStoredSms(memory="SM") current_gsm_modem.deleteMultipleStoredSms(memory="SM")
except Exception as error: except Exception as error:
@@ -87,8 +84,8 @@ def init_modems() -> list:
def start_waiting_sms(): def start_waiting_sms():
# logger = logging.getLogger() # logger = logging.getLogger()
slot_number = 1 slot_number = 12
slot_sum = 28 slot_sum = 32
for i in range(slot_number, slot_sum + 1): for i in range(slot_number, slot_sum + 1):
card_pool.reset() card_pool.reset()
logger.info("will switch to " + str(i)) logger.info("will switch to " + str(i))