storage:hdf5: convert int/float lists to builtin Python types on load.
[h5config.git] / h5config / storage / hdf5.py
index 6b8a0bcf1fa16e378de5ce05d1bfaa6ca3d1c72d..ce81289a4dccd430332a32284dce9378bcc4c26e 100644 (file)
@@ -233,7 +233,12 @@ class HDF5_Storage (_FileStorage):
                         elif isinstance(s, _config.NumericSetting):
                             raise NotImplementedError(type(s))
                         elif isinstance(s, _config.ListSetting):
-                            v = list(v)  # convert from numpy array
+                            # convert from numpy array
+                            if isinstance(s, _config.IntegerListSetting):
+                                conv = int
+                            elif isinstance(s, _config.FloatListSetting):
+                                conv = float
+                            v = list(conv(x) for x in v)
                     if _is_string(v):
                         # convert back from None, etc.
                         v = s.convert_from_text(v)