diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py index 2263219148e1f9eca19ac2016e80e8a8a1ce890b..fe52616d694aa1c37c0abab4e3cec5e5d65ec8a7 100644 --- a/src/caosadvancedtools/models/parser.py +++ b/src/caosadvancedtools/models/parser.py @@ -325,30 +325,26 @@ class Parser(object): n = self._stringify(n) if isinstance(e, dict): - if "datatype" in e: - if _get_listdatatype(e["datatype"]) is not None: - self.model[ent_name].add_property( - name=n, - importance=importance, - datatype=db.LIST(_get_listdatatype(e["datatype"]))) - else: - self.model[ent_name].add_property( - name=n, - importance=importance, - datatype=e["datatype"] - ) + if "datatype" in e and _get_listdatatype(e["datatype"]) is not None: + datatype = db.LIST(_get_listdatatype(e["datatype"])) else: - self.model[ent_name].add_property( - name=n, - importance=importance - ) + # ignore a possible e["datatype"] here if it's not a list + # since it has been treated in the definition of the + # property (entity) already + datatype = None if "value" in e: - self.model[ent_name].get_property(n).value = e["value"] + value = e["value"] + else: + value = None else: - self.model[ent_name].add_property(name=n, - value=e, - importance=importance) + value = e + datatype = None + + self.model[ent_name].add_property(name=n, + value=value, + importance=importance, + datatype=datatype) def _inherit(self, name, prop, inheritance): if not isinstance(prop, list):