From 76ed7bfeeefb72a2988dd7ad634b46293fc9cd62 Mon Sep 17 00:00:00 2001 From: "i.nueske" <i.nueske@indiscale.com> Date: Wed, 5 Mar 2025 13:05:56 +0100 Subject: [PATCH] ENH: XLSX Export cleanup incl. remove broken warnings filter --- .../table_json_conversion/export_import_xlsx.py | 7 ++----- .../table_json_conversion/validation_utils.py | 5 ++++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py b/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py index ed2b9720..8730d986 100644 --- a/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py +++ b/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py @@ -30,9 +30,7 @@ from pathlib import Path import linkahead from linkahead.common.models import Container from linkahead import execute_query -with warnings.catch_warnings(): - warnings.filterwarnings("ignore", message="^.*experimental.*$") - from linkahead.high_level_api import convert_to_python_object +from linkahead.high_level_api import convert_to_python_object from ..json_schema_exporter import JsonSchemaExporter, merge_schemas from .table_generator import XLSXTemplateGenerator @@ -100,7 +98,7 @@ def _generate_jsondata_from_records(records: Container, # Convert records to high level api objects record_obj = convert_to_python_object(record) try: - record_obj.resolve_references(True, None) + record_obj.resolve_references(False, None) except linkahead.LinkAheadException: warnings.warn(f"Data for record with id {record_obj.id} might be " f"incomplete, unsuccessful retrieve.") @@ -231,7 +229,6 @@ def export_container_to_xlsx(records: Container, message="^.*No validation schema.*$") fill_template(data=json_data, template=xlsx_template_filepath, result=xlsx_data_filepath) - # ToDo: Validation # Cleanup if xlsx_template_file is not None: xlsx_template_file.close() diff --git a/src/caosadvancedtools/table_json_conversion/validation_utils.py b/src/caosadvancedtools/table_json_conversion/validation_utils.py index 4d5e0741..f1e77f48 100644 --- a/src/caosadvancedtools/table_json_conversion/validation_utils.py +++ b/src/caosadvancedtools/table_json_conversion/validation_utils.py @@ -80,7 +80,10 @@ def _validate_jsonschema(instance: Union[dict, int, str, bool], _in_schema('format', 'date-time', schema[key])): iterable.pop(key) elif isinstance(iterable, (dict, list)): - _remove_incompatible_vals(elem, schema[key]) + try: + _remove_incompatible_vals(elem, schema[key]) + except KeyError: + pass return iterable # If jsonschema is a file, load its content -- GitLab