From dba1cf74ef5ebe0d374271e4a09c96e55cc775c9 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Wynen Date: Fri, 1 Nov 2024 14:19:36 +0100 Subject: [PATCH] Better detection of IX_ classes --- src/sqomega/_read_write.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/sqomega/_read_write.py b/src/sqomega/_read_write.py index 6b9e44f..0baf4b9 100644 --- a/src/sqomega/_read_write.py +++ b/src/sqomega/_read_write.py @@ -73,11 +73,15 @@ def write_object_array( if objects.ty == ir.TypeTag.struct: structs = objects.data if len(structs) == 1: - from ._sqw import _get_scalar_struct_field - - name = _get_scalar_struct_field(structs[0], 'serial_name') - if name.startswith('IX_'): - sqw_io.write_u8(32) + from ._sqw import AbortParse, _get_scalar_struct_field + + try: + # TODO use better mechanism + name = _get_scalar_struct_field(structs[0], 'serial_name') + if name.startswith('IX_'): + sqw_io.write_u8(32) + except AbortParse: + pass sqw_io.write_u8(objects.ty.value) sqw_io.write_u8(len(objects.shape)) # TODO correct for list of structs?