From 951bce1887f067a2c09877dd9110917e185efdfe Mon Sep 17 00:00:00 2001
From: Romain Broucquart <romain.broucquart@synchrotron-soleil.fr>
Date: Tue, 31 Oct 2023 16:02:09 +0100
Subject: [PATCH] fix boolean cast from string

* Simply using dtyp of asarray result in all True except for empty
---
 ArchiveExtractor.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ArchiveExtractor.py b/ArchiveExtractor.py
index 3617a18..9c18186 100755
--- a/ArchiveExtractor.py
+++ b/ArchiveExtractor.py
@@ -578,7 +578,11 @@ def _extract_scalar(attribute, method, date1, date2, db, dtype):
 
 
             # Transform to datetime - value arrays
-            _value = np.asarray(_value, dtype=dtype)
+            if dtype is bool:
+                _value = np.asarray([{"true":True, "false":False}[_a.lower()] for _a in _value])
+            else:
+                _value = np.asarray(_value, dtype=dtype)
+
             if len(_date) > 0:
                 _date = _ArrayTimeStampToDatetime(_date/1000.0)
 
-- 
GitLab