From 334bef8e2df74bf97f9bbabb9589d74968a6d1bc Mon Sep 17 00:00:00 2001 From: mattjala <124107509+mattjala@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:49:03 -0500 Subject: [PATCH] Fix encoded array fill values (#248) --- hsds/util/arrayUtil.py | 4 +- tests/unit/array_util_test.py | 104 ++++++++++++++++++++++++++-------- 2 files changed, 82 insertions(+), 26 deletions(-) diff --git a/hsds/util/arrayUtil.py b/hsds/util/arrayUtil.py index 9bc8c1ca..0fe8a8f4 100644 --- a/hsds/util/arrayUtil.py +++ b/hsds/util/arrayUtil.py @@ -514,7 +514,7 @@ def getNumpyValue(value, dt=None, encoding=None): msg = "Unable to decode base64 string: {value}" # log.warn(msg) raise ValueError(msg) - arr = bytesToArray(data, dt, ()) + arr = bytesToArray(data, dt, dt.shape) else: if isinstance(value, list): # convert to tuple @@ -524,7 +524,7 @@ def getNumpyValue(value, dt=None, encoding=None): else: # use as is pass - arr = np.asarray(value, dtype=dt) + arr = np.asarray(value, dtype=dt.base) return arr[()] diff --git a/tests/unit/array_util_test.py b/tests/unit/array_util_test.py index 669c1b1c..da7b8eef 100644 --- a/tests/unit/array_util_test.py +++ b/tests/unit/array_util_test.py @@ -14,6 +14,7 @@ import numpy as np import sys +import base64 sys.path.append("../..") from hsds.util.arrayUtil import ( @@ -681,30 +682,12 @@ def testGetNumpyValue(self): self.assertTrue(isinstance(val, np.int32)) self.assertEqual(42, val) - # test int with base64 encoding - dt = np.dtype("