From d9fed9b2e4a5790a731777b6aa369d5c060d2224 Mon Sep 17 00:00:00 2001 From: Daniel <d.hornung@indiscale.com> Date: Mon, 11 Mar 2024 09:38:12 +0100 Subject: [PATCH] ENH: Better error messages. --- .../table_json_conversion/table_generator.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/caosadvancedtools/table_json_conversion/table_generator.py b/src/caosadvancedtools/table_json_conversion/table_generator.py index 4e213b83..d769c679 100644 --- a/src/caosadvancedtools/table_json_conversion/table_generator.py +++ b/src/caosadvancedtools/table_json_conversion/table_generator.py @@ -204,11 +204,15 @@ class TableTemplateGenerator(ABC): # and add the foreign keys that are necessary up to this point for array_path in array_paths: foreigns = self._get_foreign_keys(foreign_keys, array_path) + if isinstance(foreigns, str): + raise ValueError("Foreign keys must be a list of strings, but a single " + "string was given:\n" + f"{array_path} -> {foreigns}") for foreign in foreigns: internal_key = p2s(array_path + [foreign]) if internal_key in sheets[sheetname]: raise ValueError("The schema would lead to two columns with the same " - f"name, which is forbidden: {internal_key}") + f"name, which is forbidden:\n{foreign} -> {internal_key}") ref_sheet = p2s(array_path) sheets[sheetname][internal_key] = ( ColumnType.FOREIGN, f"see sheet '{ref_sheet}'", array_path + [foreign]) -- GitLab