Tracing and version bump

This commit is contained in:
2025-10-29 17:25:19 +01:00
parent a719b748d9
commit 4d2291526e
3 changed files with 11 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
[project] [project]
name = "rapt-cloud-api" name = "rapt-cloud-api"
version = "0.2.0" version = "0.2.1"
description = "Add your description here" description = "Python bindings for the Rapt.io API"
readme = "README.md" readme = "README.md"
requires-python = ">=3.14" requires-python = ">=3.14"
dependencies = [ dependencies = [

View File

@@ -49,7 +49,8 @@ class Client():
raise HttpClientException(response.reason, response.status) raise HttpClientException(response.reason, response.status)
async def get_auth_headers(self): 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(): if self.expires is None or self.expires <= datetime.now():
await self.get_jwt_token() await self.get_jwt_token()
@@ -57,6 +58,7 @@ class Client():
async def get_json(self, url, parameters): async def get_json(self, url, parameters):
headers = await self.get_auth_headers() headers = await self.get_auth_headers()
logger.trace("HEADERS: " + str(headers))
async with aiohttp.ClientSession() as session: async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers, params=parameters) as response: async with session.get(url, headers=headers, params=parameters) as response:

View File

@@ -16,8 +16,9 @@ class Hydrometer():
logger.trace(response_json) logger.trace(response_json)
hydrometers_adapter = TypeAdapter(list[HydrometerModel]) hydrometers_adapter = TypeAdapter(list[HydrometerModel])
return hydrometers_adapter.validate_python(response_json) return hydrometers_adapter.validate_python(response_json)
except ClientException: except ClientException as ex:
#TODO: Handle Exception gracefully #TODO: Handle Exception gracefully
logger.error(f"Client Error: {ex.message}")
return None return None
async def get_hydrometer(self, hydrometer_id) -> Optional[HydrometerModel]: 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) response_json = await self.client.get_json("/api/hydrometers/gethydrometer", params)
logger.trace(response_json) logger.trace(response_json)
return HydrometerModel.model_validate(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 #TODO: Handle Exception gracefully
return None return None
@@ -47,7 +49,8 @@ class Hydrometer():
logger.trace(response_json) logger.trace(response_json)
hydrometers_adapter = TypeAdapter(list[HydrometerTelemetryModel]) hydrometers_adapter = TypeAdapter(list[HydrometerTelemetryModel])
return hydrometers_adapter.validate_python(response_json) return hydrometers_adapter.validate_python(response_json)
except ClientException: except ClientException as ex:
logger.error(f"Client Error: {ex.message}")
#TODO: Handle Exception gracefully #TODO: Handle Exception gracefully
return None return None