From 5eee3fee0725a057312992a1830a2b43fb70840b Mon Sep 17 00:00:00 2001 From: izzy lyseggen Date: Tue, 19 Jan 2021 11:05:42 +0000 Subject: [PATCH] TEMPfix(serialisation): get around server bug will revert when fix available for specklesystems/speckle-server#78 --- speckle/serialization/base_object_serializer.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/speckle/serialization/base_object_serializer.py b/speckle/serialization/base_object_serializer.py index 1f5e3da..7c7779e 100644 --- a/speckle/serialization/base_object_serializer.py +++ b/speckle/serialization/base_object_serializer.py @@ -232,11 +232,19 @@ class BaseObjectSerializer: return if isinstance(obj, str): obj = json.loads(obj) - if obj["speckle_type"] == "reference": + + # TODO: remove check for `speckleType` when server bug is fixed + if "speckle_type" in obj and obj["speckle_type"] == "reference": + obj = self.get_child(obj=obj) + if "speckleType" in obj and obj["speckleType"] == "reference": obj = self.get_child(obj=obj) # initialise the base object using `speckle_type` - base = getattr(objects, obj["speckle_type"], Base)() + base = getattr( + objects, + obj["speckle_type"] if "speckle_type" in obj else obj["speckleType"], + Base, + )() # get total children count if "__closure" in obj: