From 92644ba4f92edf900967511e3962be213917d6a3 Mon Sep 17 00:00:00 2001
From: "i.nueske" <i.nueske@indiscale.com>
Date: Sat, 23 Nov 2024 15:39:53 +0100
Subject: [PATCH] BUG: convert.XLSXConverter._validate_and_convert now parses
 booleans that were retrieved as integer or a formula

---
 src/caosadvancedtools/table_json_conversion/convert.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/caosadvancedtools/table_json_conversion/convert.py b/src/caosadvancedtools/table_json_conversion/convert.py
index 3c5b78fa..f775709a 100644
--- a/src/caosadvancedtools/table_json_conversion/convert.py
+++ b/src/caosadvancedtools/table_json_conversion/convert.py
@@ -478,6 +478,12 @@ class XLSXConverter:
             if isinstance(value, datetime.date) and (
                     {'type': 'string', 'format': 'date'} in subschema["anyOf"]):
                 return value
+        # booleans might be retrieved as an integer or formula
+        if subschema.get('type') == 'boolean':
+            if value == 0 or isinstance(value, str) and 'false' in value.lower():
+                value = False
+            if value == 1 or isinstance(value, str) and 'true' in value.lower():
+                value = True
         jsonschema.validate(value, subschema)
 
         # Finally: convert to target type
-- 
GitLab