From 2423efd7ade071c78d91b1d7d07f47a70115a91c Mon Sep 17 00:00:00 2001
From: Daniel <d.hornung@indiscale.com>
Date: Fri, 8 Mar 2024 13:41:21 +0100
Subject: [PATCH] ENH: Making missing paths.

---
 src/caosadvancedtools/table_json_conversion/fill_xlsx.py      | 4 ++++
 .../table_json_conversion/table_generator.py                  | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/caosadvancedtools/table_json_conversion/fill_xlsx.py b/src/caosadvancedtools/table_json_conversion/fill_xlsx.py
index a1f8314e..62aa922a 100644
--- a/src/caosadvancedtools/table_json_conversion/fill_xlsx.py
+++ b/src/caosadvancedtools/table_json_conversion/fill_xlsx.py
@@ -23,6 +23,7 @@
 from __future__ import annotations
 
 import json
+import pathlib
 from collections import OrderedDict
 from types import SimpleNamespace
 from typing import Any, Dict, List, Optional, Union, TextIO
@@ -358,4 +359,7 @@ validation_schema: dict, optional
     result_wb = load_workbook(template)
     template_filler = TemplateFiller(result_wb)
     template_filler.fill_data(data=data)
+
+    parentpath = pathlib.Path(result).parent
+    parentpath.mkdir(parents=True, exist_ok=True)
     result_wb.save(result)
diff --git a/src/caosadvancedtools/table_json_conversion/table_generator.py b/src/caosadvancedtools/table_json_conversion/table_generator.py
index 905c225f..4e213b83 100644
--- a/src/caosadvancedtools/table_json_conversion/table_generator.py
+++ b/src/caosadvancedtools/table_json_conversion/table_generator.py
@@ -23,6 +23,8 @@
 """
 This module allows to generate template tables from JSON schemas.
 """
+
+import pathlib
 import re
 from abc import ABC, abstractmethod
 from enum import Enum
@@ -279,6 +281,8 @@ class XLSXTemplateGenerator(TableTemplateGenerator):
         """
         sheets = self._generate_sheets_from_schema(schema, foreign_keys)
         wb = self._create_workbook_from_sheets_def(sheets)
+        parentpath = pathlib.Path(filepath).parent
+        parentpath.mkdir(parents=True, exist_ok=True)
         wb.save(filepath)
 
     @staticmethod
-- 
GitLab