From e243ad08140c341d8f8675b429a59612811d50cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org>
Date: Sat, 17 Aug 2019 12:23:32 +0200
Subject: [PATCH] ENH: allow to set datatype of LIST property

---
 src/caosadvancedtools/cfood.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/caosadvancedtools/cfood.py b/src/caosadvancedtools/cfood.py
index d43dc8f9..661a0911 100644
--- a/src/caosadvancedtools/cfood.py
+++ b/src/caosadvancedtools/cfood.py
@@ -212,7 +212,7 @@ class AbstractCFood(object):
 
 
 def assure_object_is_in_list(obj, containing_object, property_name,
-                             to_be_updated, verbosity=INFO):
+                             to_be_updated, datatype=None, verbosity=INFO):
     """
     Checks whether `obj` is one of the values in the list property
     `property_name` of the supplied entity  containing_object`.
@@ -228,8 +228,10 @@ def assure_object_is_in_list(obj, containing_object, property_name,
     """
 
     if containing_object.get_property(property_name) is None:
+        if datatype is None:
+            datatype = db.LIST(property_name)
         containing_object.add_property(property_name, value=[],
-                                       datatype=db.LIST(property_name))
+                                       datatype=datatype)
     current_list = containing_object.get_property(property_name).value
 
     if not isinstance(current_list, list):
-- 
GitLab