From 8e794ec7f53354d676dc81c931420f01d2609710 Mon Sep 17 00:00:00 2001 From: Stef Date: Fri, 29 Aug 2025 22:55:20 +0200 Subject: [PATCH] Added error information to api --- mem/__init__.py | 8 +++++++- poll_services.py | 8 +++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/mem/__init__.py b/mem/__init__.py index d74205c..c10745f 100644 --- a/mem/__init__.py +++ b/mem/__init__.py @@ -6,6 +6,7 @@ class service: status: Optional[int] online: bool public: bool + error: Optional[str] def __init__(self, url: str = "", public: bool = True): self.url = url @@ -13,6 +14,7 @@ class service: self.online = False self.status = None + self.error = None def to_dict(self) -> dict[str, Any]: return { @@ -20,14 +22,18 @@ class service: "status": self.status, "public": self.public, "online": self.online, + "error": self.error, } - def set_status(self, status: int): + def set_status(self, status: Optional[int]): self.status = status def set_online(self, b: bool): self.online = b + def set_error(self, s: Optional[str]): + self.error = s + services: list[service] = [ service("https://git.ihatemen.uk"), diff --git a/poll_services.py b/poll_services.py index 4460011..9c823c9 100644 --- a/poll_services.py +++ b/poll_services.py @@ -13,11 +13,13 @@ async def check_service(client: httpx.AsyncClient, s: service): follow_redirects=True, timeout=1, ) - print(r.status_code) + s.set_error(None) s.set_online(r.status_code == 200) - except httpx.RequestError as e: - print(e) + s.set_status(r.status_code) + except httpx.HTTPError as e: + s.set_error(str(e)) s.set_online(False) + s.set_status(None) def start_async_loop():