From 3fd9d79c5c9f3b68fe3b4fa98fbdb1326f436977 Mon Sep 17 00:00:00 2001 From: Giovanni Condello Date: Thu, 2 Jan 2025 17:37:11 +0100 Subject: [PATCH 1/2] #287: Gracefully handle cases where the messages api returns no data --- handlers/message.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/handlers/message.py b/handlers/message.py index 3dbcf37..dd5b2cc 100644 --- a/handlers/message.py +++ b/handlers/message.py @@ -76,7 +76,7 @@ async def __get_all_alarm_messages(self) -> list[MessageEntity]: while True: try: message_list = await self.saicapi.get_alarm_list(page_num=idx, page_size=1) - if message_list.messages and len(message_list.messages) > 0: + if message_list is not None and message_list.messages and len(message_list.messages) > 0: all_messages.extend(message_list.messages) else: return all_messages diff --git a/requirements.txt b/requirements.txt index eddb733..11a228a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -saic-ismart-client-ng==0.5.2 +saic-ismart-client-ng==0.5.4 httpx~=0.27.0 gmqtt~=0.6.13 inflection~=0.5.1 From 68d03d93aa71612b5970cef776af3e0f725846d9 Mon Sep 17 00:00:00 2001 From: Giovanni Condello Date: Thu, 2 Jan 2025 19:17:03 +0100 Subject: [PATCH 2/2] #287: Handle an empty message list correctly --- handlers/message.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/handlers/message.py b/handlers/message.py index dd5b2cc..ec44ea1 100644 --- a/handlers/message.py +++ b/handlers/message.py @@ -45,7 +45,11 @@ async def __polling(self): await self.__read_message(message) latest_message = self.__get_latest_message(all_messages) - if latest_message.messageId != self.last_message_id and latest_message.message_time > self.last_message_ts: + if ( + latest_message is not None + and latest_message.messageId != self.last_message_id + and latest_message.message_time > self.last_message_ts + ): self.last_message_id = latest_message.messageId self.last_message_ts = latest_message.message_time LOG.info(