From 1b78f56363a0279a7e6bee55205bd8013e97911e Mon Sep 17 00:00:00 2001 From: Josh Graff Date: Mon, 17 Feb 2025 09:47:42 -0500 Subject: [PATCH] Add error handling to the _handleSmsStatusReport function, to resolve issue #56 --- gsmmodem/modem.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gsmmodem/modem.py b/gsmmodem/modem.py index e468f34..155a395 100644 --- a/gsmmodem/modem.py +++ b/gsmmodem/modem.py @@ -1006,8 +1006,15 @@ def _handleSmsStatusReport(self, notificationLine): if cdsiMatch: msgMemory = cdsiMatch.group(1) msgIndex = cdsiMatch.group(2) - report = self.readStoredSms(msgIndex, msgMemory) - self.deleteStoredSms(msgIndex) + try: + report = self.readStoredSms(msgIndex, msgMemory) + except: + #This handles an intermittent issue where the modem responds with a non-response like object. + self.log.error('Error during processing of SMS Status Report') + finally: + #It's probably best to delete the stored response since we couldn't process it effectively. + self.deleteStoredSms(msgIndex) + return # Update sent SMS status if possible if report.reference in self.sentSms: self.sentSms[report.reference].report = report