diff --git a/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py b/src/caosadvancedtools/table_json_conversion/export_import_xlsx.py index ed2b9720f8837c038cd05e76fc25ad56a5cb83ee..8730d9862857ab77e319ec4369806176f583287e 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 4d5e07418a228a89fd9520ad3384860a7ac3c48a..f1e77f48f7120c5dcd812cb42ba4757a06deb762 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