From c23c74be6ba50446a9e4689de5e493e4ab6cf5e0 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Fri, 3 Jul 2026 14:36:55 +0000 Subject: [PATCH] =?UTF-8?q?Abri=20log=5Fjob=20treats=20a=20logged-job=20re?= =?UTF-8?q?sponse=20missing=20its=20job=20number=20as=20retriable=20?= =?UTF-8?q?=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- infrastructure/abri/abri_client.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/infrastructure/abri/abri_client.py b/infrastructure/abri/abri_client.py index e1049bd0e..99ef095e8 100644 --- a/infrastructure/abri/abri_client.py +++ b/infrastructure/abri/abri_client.py @@ -56,10 +56,13 @@ class AbriClient: raise AbriResponseParseError( "Job_logged element missing from relay response" ) - return JobLogged( - job_no=job_logged.attrib["job_no"], - logged_info=job_logged.attrib["logged_info"], - ) + job_no = job_logged.get("job_no") + logged_info = job_logged.get("logged_info") + if job_no is None or logged_info is None: + raise AbriResponseParseError( + "Job_logged element missing job_no or logged_info" + ) + return JobLogged(job_no=job_no, logged_info=logged_info) @staticmethod def _parse_rejection(root: ET.Element) -> AbriRequestRejected: