From 5211eccb5b165225bd9d05d55669983cc8f7f7e3 Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Tue, 1 Aug 2023 14:12:22 +0000 Subject: [PATCH 1/9] procedure repeated issue 64 resolve #64. i was unsure which part needed to be repeated so i just repeated the whole function until the message can be saved into the queue, im not sure if this is right though. --- ssm/ssm2.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 72099ad8..694cabba 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -343,7 +343,11 @@ def _save_msg_to_queue(self, body, empaid): name = self._inq.add({'body': extracted_msg, 'signer': signer, 'empaid': empaid}) - log.info("Message saved to incoming queue as %s", name) + try: + log.info("Message saved to incoming queue as %s", name) + except: + _save_msg_to_queue(self, body, empaid) + except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) From 5897f7e548251cd082bddfa1319f532e03e636dc Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Wed, 2 Aug 2023 08:11:59 +0000 Subject: [PATCH 2/9] repeats procedure to try fix error. issue 64 resolve #64. i have just repeated the procedure either until it works or until a new counter i introduced reaches 3 so there is a limit to the recursion --- ssm/ssm2.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 694cabba..e23a0bef 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -319,6 +319,7 @@ def _handle_msg(self, text): def _save_msg_to_queue(self, body, empaid): """Extract message contents and add to the accept or reject queue.""" extracted_msg, signer, err_msg = self._handle_msg(body) + fails = 0 try: # If the message is empty or the error message is not empty # then reject the message. @@ -343,14 +344,14 @@ def _save_msg_to_queue(self, body, empaid): name = self._inq.add({'body': extracted_msg, 'signer': signer, 'empaid': empaid}) - try: - log.info("Message saved to incoming queue as %s", name) - except: - _save_msg_to_queue(self, body, empaid) + log.info("Message saved to incoming queue as %s", name) except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) + fails += 1 + if fails > 3: + return _save_msg_to_queue(self, body, empaid) def _send_msg(self, message, msgid): """Send one message using stomppy. From c78cca29d9ec1df5dee4b51e22a7342547f94840 Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Wed, 2 Aug 2023 08:26:51 +0000 Subject: [PATCH 3/9] procedure repeated until it works, issue 64 procedure repeates either until it works or until the counter reaches three to avoid infinite recursion --- ssm/ssm2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index e23a0bef..76a2dd11 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -350,7 +350,7 @@ def _save_msg_to_queue(self, body, empaid): except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) fails += 1 - if fails > 3: + if fails < 3: return _save_msg_to_queue(self, body, empaid) def _send_msg(self, message, msgid): From 4067424fc09e95e14186e0645211afac56077ae9 Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Wed, 2 Aug 2023 08:40:26 +0000 Subject: [PATCH 4/9] procedure repeated resolve #64 . repeats the procedure either until it works or until it has been repeated three times --- ssm/ssm2.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 76a2dd11..e5402424 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -316,10 +316,11 @@ def _handle_msg(self, text): return message, signer, None + fails = 0 def _save_msg_to_queue(self, body, empaid): """Extract message contents and add to the accept or reject queue.""" extracted_msg, signer, err_msg = self._handle_msg(body) - fails = 0 + try: # If the message is empty or the error message is not empty # then reject the message. @@ -350,7 +351,7 @@ def _save_msg_to_queue(self, body, empaid): except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) fails += 1 - if fails < 3: + if fails <= 3: return _save_msg_to_queue(self, body, empaid) def _send_msg(self, message, msgid): From 4b3dce39b18eb816876ef4b62fcb57ac2352a1dc Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Wed, 2 Aug 2023 08:40:26 +0000 Subject: [PATCH 5/9] procedure repeated resolve #64 . repeats the procedure either until it works or until it has been repeated three times --- ssm/ssm2.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 72099ad8..65b13545 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -316,9 +316,14 @@ def _handle_msg(self, text): return message, signer, None + fails = 0 def _save_msg_to_queue(self, body, empaid): """Extract message contents and add to the accept or reject queue.""" extracted_msg, signer, err_msg = self._handle_msg(body) +<<<<<<< HEAD +======= + +>>>>>>> 4067424... procedure repeated try: # If the message is empty or the error message is not empty # then reject the message. @@ -347,6 +352,9 @@ def _save_msg_to_queue(self, body, empaid): except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) + fails += 1 + if fails <= 3: + return _save_msg_to_queue(self, body, empaid) def _send_msg(self, message, msgid): """Send one message using stomppy. From 7849c57084a630453dac3118aee6cb214f442071 Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Wed, 2 Aug 2023 10:35:44 +0000 Subject: [PATCH 6/9] loops add calls, issue 64 resolve #64. loops the add calls until they work or until the for loop is exhausted. is something like this what you mean? --- ssm/ssm2.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index ec5c49a2..db39d1a3 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -316,7 +316,7 @@ def _handle_msg(self, text): return message, signer, None - fails = 0 + def _save_msg_to_queue(self, body, empaid): """Extract message contents and add to the accept or reject queue.""" extracted_msg, signer, err_msg = self._handle_msg(body) @@ -350,9 +350,18 @@ def _save_msg_to_queue(self, body, empaid): except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error) - fails += 1 - if fails <= 3: - return _save_msg_to_queue(self, body, empaid) + for i in range(3): + try: + name = self._rejectq.add({'body': body, + 'signer': signer, + 'empaid': empaid, + 'error': err_msg}) + name = self._inq.add({'body': extracted_msg, + 'signer': signer, + 'empaid': empaid}) + except: + continue + break def _send_msg(self, message, msgid): """Send one message using stomppy. From 919a0f292bce3b44d9e2205feaaca4969d857751 Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Thu, 3 Aug 2023 12:06:43 +0000 Subject: [PATCH 7/9] Please enter the commit message for your changes. Lines starting --- ssm/ssm2.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index db39d1a3..d5b6a4da 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -356,9 +356,11 @@ def _save_msg_to_queue(self, body, empaid): 'signer': signer, 'empaid': empaid, 'error': err_msg}) + log.info("Message saved to reject queue as %s", name) name = self._inq.add({'body': extracted_msg, 'signer': signer, 'empaid': empaid}) + log.info("Message saved to incoming queue as %s", name) except: continue break From 0ea9f5f6891842ed10175a41b28ff0c363b4a6aa Mon Sep 17 00:00:00 2001 From: DanielPerkins7 Date: Thu, 3 Aug 2023 12:11:00 +0000 Subject: [PATCH 8/9] repeats name variable initialisation if failed. issue 64 resolve #64 --- ssm/ssm2.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index d5b6a4da..28cc27df 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -352,15 +352,17 @@ def _save_msg_to_queue(self, body, empaid): log.error('Failed to read or write file: %s', error) for i in range(3): try: - name = self._rejectq.add({'body': body, + if extracted_msg is None or err_msg is not None: + name = self._rejectq.add({'body': body, 'signer': signer, 'empaid': empaid, 'error': err_msg}) - log.info("Message saved to reject queue as %s", name) - name = self._inq.add({'body': extracted_msg, + log.info("Message saved to reject queue as %s", name) + else: # message verified ok + name = self._inq.add({'body': extracted_msg, 'signer': signer, 'empaid': empaid}) - log.info("Message saved to incoming queue as %s", name) + log.info("Message saved to incoming queue as %s", name) except: continue break From dd25479ca8eb7e1aa30881e7b1b1554231f052b2 Mon Sep 17 00:00:00 2001 From: Daniel Perkins <141025447+DanielPerkins7@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:49:22 +0100 Subject: [PATCH 9/9] removes trailing whitespace Co-authored-by: Rowan --- ssm/ssm2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 28cc27df..27f131af 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -346,7 +346,7 @@ def _save_msg_to_queue(self, body, empaid): 'signer': signer, 'empaid': empaid}) - log.info("Message saved to incoming queue as %s", name) + log.info("Message saved to incoming queue as %s", name) except (IOError, OSError) as error: log.error('Failed to read or write file: %s', error)