From 1b1834d4e6d03c36bb84f095364ff4aab777d0bdcbd9de8d732adb1588a47602 Mon Sep 17 00:00:00 2001 From: PioApocalypse Date: Mon, 16 Feb 2026 15:35:22 +0100 Subject: [PATCH] some attributes don't default to NoneType anymore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Target.description defaults to "" (empty str) Substrate.thickness defaults to "" (empty str) Substrate.thickness_unit is now hardcoded to "μm" did you know? apparently h5py does NOT like null values --- src/classes.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/classes.py b/src/classes.py index c9eb5c0..b45ae5f 100644 --- a/src/classes.py +++ b/src/classes.py @@ -175,7 +175,8 @@ class Substrate(Material): self.miscut_angle_unit = self.extra["Miscut Angle"]["unit"] self.miscut_direction = self.extra["Miscut Direction"]["value"] # Not present (yet) on eLabFTW for Substrates: - self.thickness = None #self.extra["Thickness"]["value"] + self.thickness = "" #self.extra["Thickness"]["value"] + self.thickness_unit = "μm" #self.extra["Thickness"]["unit"] self.surface_treatment = self.extra["Surface treatment"]["value"] self.manufacturer = self.extra["Supplier"]["value"] self.batch_id = self.extra["Batch ID"]["value"] @@ -194,7 +195,7 @@ class Target(Material): except KeyError as k: raise KeyError(f"The provided dictionary lacks a \"{k}\" key - which is specific for PLD targets. Check the {self.name} target entry on eLabFTW and make sure you used the correct Resource template.") # Non-required attributes: - self.description = material_data.get("body") or None + self.description = material_data.get("body") or ""