From 80a629a81b30ae44ed4794a6f3c2e8b2514b1686 Mon Sep 17 00:00:00 2001 From: fspreck <f.spreckelsen@indiscale.com> Date: Tue, 19 Apr 2022 18:39:28 +0200 Subject: [PATCH] FIX: Treat empty list values in assure_object_is_in_list --- src/caosadvancedtools/cfood.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/caosadvancedtools/cfood.py b/src/caosadvancedtools/cfood.py index 45006640..a05da2da 100644 --- a/src/caosadvancedtools/cfood.py +++ b/src/caosadvancedtools/cfood.py @@ -415,7 +415,9 @@ def assure_object_is_in_list(obj, containing_object, property_name, datatype=datatype) # TODO: case where multiple times the same property exists is not treated - if not isinstance(containing_object.get_property(property_name).value, list): + if containing_object.get_property(property_name).value is None: + containing_object.get_property(property_name).value = [] + elif not isinstance(containing_object.get_property(property_name).value, list): containing_object.get_property(property_name).value = [ containing_object.get_property(property_name).value] containing_object.get_property(property_name).datatype = datatype @@ -674,7 +676,8 @@ def assure_has_property(entity, name, value, to_be_updated=None, tmp_value = el.value.id if isinstance(tmp_value, list): - tmp_value = [i.id if isinstance(i, db.Entity) else i for i in tmp_value] + tmp_value = [i.id if isinstance( + i, db.Entity) else i for i in tmp_value] if tmp_value == value: contained = True -- GitLab