Skip to content
Snippets Groups Projects
Commit 76ed7bfe authored by I. Nüske's avatar I. Nüske
Browse files

ENH: XLSX Export cleanup incl. remove broken warnings filter

parent fff1c8f8
No related branches found
No related tags found
1 merge request!132Draft: Automatic XLSX export
Pipeline #61662 passed
This commit is part of merge request !132. Comments created here will be created in the context of that merge request.
...@@ -30,9 +30,7 @@ from pathlib import Path ...@@ -30,9 +30,7 @@ from pathlib import Path
import linkahead import linkahead
from linkahead.common.models import Container from linkahead.common.models import Container
from linkahead import execute_query from linkahead import execute_query
with warnings.catch_warnings(): from linkahead.high_level_api import convert_to_python_object
warnings.filterwarnings("ignore", message="^.*experimental.*$")
from linkahead.high_level_api import convert_to_python_object
from ..json_schema_exporter import JsonSchemaExporter, merge_schemas from ..json_schema_exporter import JsonSchemaExporter, merge_schemas
from .table_generator import XLSXTemplateGenerator from .table_generator import XLSXTemplateGenerator
...@@ -100,7 +98,7 @@ def _generate_jsondata_from_records(records: Container, ...@@ -100,7 +98,7 @@ def _generate_jsondata_from_records(records: Container,
# Convert records to high level api objects # Convert records to high level api objects
record_obj = convert_to_python_object(record) record_obj = convert_to_python_object(record)
try: try:
record_obj.resolve_references(True, None) record_obj.resolve_references(False, None)
except linkahead.LinkAheadException: except linkahead.LinkAheadException:
warnings.warn(f"Data for record with id {record_obj.id} might be " warnings.warn(f"Data for record with id {record_obj.id} might be "
f"incomplete, unsuccessful retrieve.") f"incomplete, unsuccessful retrieve.")
...@@ -231,7 +229,6 @@ def export_container_to_xlsx(records: Container, ...@@ -231,7 +229,6 @@ def export_container_to_xlsx(records: Container,
message="^.*No validation schema.*$") message="^.*No validation schema.*$")
fill_template(data=json_data, template=xlsx_template_filepath, fill_template(data=json_data, template=xlsx_template_filepath,
result=xlsx_data_filepath) result=xlsx_data_filepath)
# ToDo: Validation
# Cleanup # Cleanup
if xlsx_template_file is not None: if xlsx_template_file is not None:
xlsx_template_file.close() xlsx_template_file.close()
...@@ -80,7 +80,10 @@ def _validate_jsonschema(instance: Union[dict, int, str, bool], ...@@ -80,7 +80,10 @@ def _validate_jsonschema(instance: Union[dict, int, str, bool],
_in_schema('format', 'date-time', schema[key])): _in_schema('format', 'date-time', schema[key])):
iterable.pop(key) iterable.pop(key)
elif isinstance(iterable, (dict, list)): elif isinstance(iterable, (dict, list)):
_remove_incompatible_vals(elem, schema[key]) try:
_remove_incompatible_vals(elem, schema[key])
except KeyError:
pass
return iterable return iterable
# If jsonschema is a file, load its content # If jsonschema is a file, load its content
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment