From e8a713536e4ce53c6767851312cc55df4835a7af Mon Sep 17 00:00:00 2001 From: Daniel <d.hornung@indiscale.com> Date: Tue, 7 May 2024 14:34:53 +0200 Subject: [PATCH] STY: Formatting --- .../table_json_conversion/convert.py | 6 ++++-- .../multiple_refs_data_wrong_foreign.xlsx | Bin 12914 -> 12953 bytes .../data/simple_data_wrong_foreign.xlsx | Bin 8979 -> 8998 bytes 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/caosadvancedtools/table_json_conversion/convert.py b/src/caosadvancedtools/table_json_conversion/convert.py index acc0cb22..09882f96 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 GIT binary patch delta 4730 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 delta 4701 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 D(Tsq@ 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 GIT binary patch delta 3322 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 ZCofY{0&z|$$uNdaey*g(#-adH4giap`;q_v delta 3339 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 WNruTuZgQcV=wtz90k)6wAUy!|k^asA -- GitLab