From 4d2291526e5352777932e019536f91b167c0f7b7 Mon Sep 17 00:00:00 2001 From: jfm Date: Wed, 29 Oct 2025 17:25:19 +0100 Subject: [PATCH] Tracing and version bump --- pyproject.toml | 4 ++-- src/rapt/client.py | 4 +++- src/rapt/hydrometer.py | 9 ++++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f134e3e..83dedde 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "rapt-cloud-api" -version = "0.2.0" -description = "Add your description here" +version = "0.2.1" +description = "Python bindings for the Rapt.io API" readme = "README.md" requires-python = ">=3.14" dependencies = [ diff --git a/src/rapt/client.py b/src/rapt/client.py index aec34ed..884892b 100644 --- a/src/rapt/client.py +++ b/src/rapt/client.py @@ -49,7 +49,8 @@ class Client(): raise HttpClientException(response.reason, response.status) async def get_auth_headers(self): - #TODO: Check expiry + if self.expires is not None: + logger.trace("DATE COMP: " + str(self.expires <= datetime.now())) if self.expires is None or self.expires <= datetime.now(): await self.get_jwt_token() @@ -57,6 +58,7 @@ class Client(): async def get_json(self, url, parameters): headers = await self.get_auth_headers() + logger.trace("HEADERS: " + str(headers)) async with aiohttp.ClientSession() as session: async with session.get(url, headers=headers, params=parameters) as response: diff --git a/src/rapt/hydrometer.py b/src/rapt/hydrometer.py index ed13eea..19f18ac 100644 --- a/src/rapt/hydrometer.py +++ b/src/rapt/hydrometer.py @@ -16,8 +16,9 @@ class Hydrometer(): logger.trace(response_json) hydrometers_adapter = TypeAdapter(list[HydrometerModel]) return hydrometers_adapter.validate_python(response_json) - except ClientException: + except ClientException as ex: #TODO: Handle Exception gracefully + logger.error(f"Client Error: {ex.message}") return None async def get_hydrometer(self, hydrometer_id) -> Optional[HydrometerModel]: @@ -29,7 +30,8 @@ class Hydrometer(): response_json = await self.client.get_json("/api/hydrometers/gethydrometer", params) logger.trace(response_json) return HydrometerModel.model_validate(response_json) - except ClientException: + except ClientException as ex: + logger.error(f"Client Error: {ex.message}") #TODO: Handle Exception gracefully return None @@ -47,7 +49,8 @@ class Hydrometer(): logger.trace(response_json) hydrometers_adapter = TypeAdapter(list[HydrometerTelemetryModel]) return hydrometers_adapter.validate_python(response_json) - except ClientException: + except ClientException as ex: + logger.error(f"Client Error: {ex.message}") #TODO: Handle Exception gracefully return None