tlsappointmentbot: Don't send warnings on first failure
This commit is contained in:
parent
526c3e3d67
commit
5ba466b7aa
|
@ -37,6 +37,8 @@ class TLSAppointmentBot:
|
||||||
while not self.matrix_bot.initial_sync_done:
|
while not self.matrix_bot.initial_sync_done:
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
|
|
||||||
|
tries = 0
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
logger.info("checking for appointment slots")
|
logger.info("checking for appointment slots")
|
||||||
|
@ -57,10 +59,18 @@ class TLSAppointmentBot:
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.error(traceback.format_exc().strip())
|
logging.error(traceback.format_exc().strip())
|
||||||
await self.matrix_bot.send_warning()
|
if tries > 3:
|
||||||
|
await self.matrix_bot.send_warning()
|
||||||
|
break
|
||||||
|
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
tries = 0
|
||||||
await asyncio.sleep(2 * 60)
|
await asyncio.sleep(2 * 60)
|
||||||
|
|
||||||
|
self.quit()
|
||||||
|
|
||||||
def _is_logged_in(self) -> bool:
|
def _is_logged_in(self) -> bool:
|
||||||
self.driver.get(f"{self.config.tls_instance}/BJS/index.php")
|
self.driver.get(f"{self.config.tls_instance}/BJS/index.php")
|
||||||
button = wait.WebDriverWait(self.driver, 10).until(
|
button = wait.WebDriverWait(self.driver, 10).until(
|
||||||
|
@ -87,7 +97,7 @@ class TLSAppointmentBot:
|
||||||
|
|
||||||
# Make sure we're on the page, and that we can see the
|
# Make sure we're on the page, and that we can see the
|
||||||
# appointment table
|
# appointment table
|
||||||
wait.WebDriverWait(self.driver, 10).until(
|
wait.WebDriverWait(self.driver, 20).until(
|
||||||
ec.visibility_of_element_located((By.XPATH, "//tr[@class='amend']"))
|
ec.visibility_of_element_located((By.XPATH, "//tr[@class='amend']"))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue