diff --git a/src/caosadvancedtools/table_json_conversion/convert.py b/src/caosadvancedtools/table_json_conversion/convert.py index acc0cb226ba3b4db02f28d307658292f7b327f75..09882f963fd976583d4acbc8f2dd3b67ef510ac8 100644 --- a/src/caosadvancedtools/table_json_conversion/convert.py +++ b/src/caosadvancedtools/table_json_conversion/convert.py @@ -148,6 +148,8 @@ out: dict col_paths.append(col.path) for path in parents.values(): subschema = xlsx_utils.get_subschema(path, self._schema) + + # Unfortunately, there are a lot of special cases to handle here. if subschema.get("type") == "array": subschema = subschema["items"] if "enum" in subschema: # Was handled in parent level already @@ -282,9 +284,9 @@ the values given in the ``foreign`` specification. current_object = cand break else: - message = "Cannot find an element which matches these foreign definitions:\n\n" + message = f"Cannot find an element at {parent_path} for these foreign defs:\n" for name, value in group.definitions: - message += f"{name}: {value}\n" + message += f" {name}: {value}\n" print(message, file=sys.stderr) error = ForeignError(definitions=group.definitions, message=message) raise error diff --git a/unittests/table_json_conversion/data/multiple_refs_data_wrong_foreign.xlsx b/unittests/table_json_conversion/data/multiple_refs_data_wrong_foreign.xlsx index 8290260743fa92b27057e90e7dcead1124cd592b..f6e9d9f9f2024708a0b70d8ed4660cc97e04ff27 100644 Binary files a/unittests/table_json_conversion/data/multiple_refs_data_wrong_foreign.xlsx and b/unittests/table_json_conversion/data/multiple_refs_data_wrong_foreign.xlsx differ diff --git a/unittests/table_json_conversion/data/simple_data_wrong_foreign.xlsx b/unittests/table_json_conversion/data/simple_data_wrong_foreign.xlsx index f2e88217bc0dd123ecb79e86173e97cc320139f3..dbd91d29947ec673a704a762f474111223484e56 100644 Binary files a/unittests/table_json_conversion/data/simple_data_wrong_foreign.xlsx and b/unittests/table_json_conversion/data/simple_data_wrong_foreign.xlsx differ