diff --git a/src/caosadvancedtools/table_json_conversion/table_generator.py b/src/caosadvancedtools/table_json_conversion/table_generator.py index 8c1952ebfcd815f759ec3e12e07f788ae42c1834..806d1d3c76292a192720fb93991d334ff81c346e 100644 --- a/src/caosadvancedtools/table_json_conversion/table_generator.py +++ b/src/caosadvancedtools/table_json_conversion/table_generator.py @@ -145,6 +145,11 @@ class TableTemplateGenerator(ABC): """ recursively transforms elements from the schema into column definitions sheets is modified in place. + Parameters + ---------- + array_paths: list + a list of path along the way to the current object, where the json contains arrays + Returns ------- @@ -156,6 +161,8 @@ class TableTemplateGenerator(ABC): f"'type' key:\n{schema}\n") if array_paths is None: + # if this is not set, we are at top level and the top level element may always be an + # array array_paths = [path] ctype = ColumnType.SCALAR @@ -168,12 +175,11 @@ class TableTemplateGenerator(ABC): sheetname = ".".join(path) sheets[sheetname] = self._treat_schema_element( schema['items'], sheets, path, foreign_keys, len(path), - array_paths=array_paths+[path]) - print("Sel", path) + array_paths=array_paths+[path] # since this level is an array, we extend the list + ) for p in array_paths: keys = self._get_foreign_keys(foreign_keys, p) for k in keys: - print(k, p) sheets[sheetname].update({k: (ColumnType.FOREIGN, f"see sheet '{path[0]}'", p+[k])}) # columns are added to the new sheet, thus we do not return columns return {}