tlsappointmentbot: Don't send warnings on first failure

This commit is contained in:
Tristan Daniël Maat 2023-05-20 02:51:46 +01:00
parent 526c3e3d67
commit 5ba466b7aa
Signed by: tlater
GPG key ID: 49670FD774E43268

View file

@ -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']"))
) )