feat: allow auto-restart on captcha (#481)

Co-authored-by: sebthom <sebthom@users.noreply.github.com>
This commit is contained in:
Airwave1981
2025-04-26 14:40:47 +02:00
committed by GitHub
parent 4891c142a9
commit d87ae6e740
6 changed files with 67 additions and 6 deletions

View File

@@ -0,0 +1,18 @@
"""
SPDX-FileCopyrightText: © Sebastian Thomschke and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
SPDX-ArtifactOfProjectHomePage: https://github.com/Second-Hand-Friends/kleinanzeigen-bot/
"""
from datetime import timedelta
class KleinanzeigenBotError(RuntimeError):
"""Base class for all custom bot-related exceptions."""
class CaptchaEncountered(KleinanzeigenBotError):
"""Raised when a Captcha was detected and auto-restart is enabled."""
def __init__(self, restart_delay: timedelta):
super().__init__()
self.restart_delay = restart_delay

View File

@@ -28,6 +28,9 @@ LOG_ROOT:Final[logging.Logger] = logging.getLogger()
def configure_console_logging() -> None:
# if a StreamHandler already exists, do not append it again
if any(isinstance(h, logging.StreamHandler) for h in LOG_ROOT.handlers):
return
class CustomFormatter(logging.Formatter):
LEVEL_COLORS = {