diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py index f385a1a3cdfaa91d3d61e6474743cd0549318e0d..a6d370458c95cab9c1772e30149cf88d7faab30e 100644 --- a/src/caosadvancedtools/models/parser.py +++ b/src/caosadvancedtools/models/parser.py @@ -320,15 +320,27 @@ class Parser(object): continue n = self._stringify(n) - if (isinstance(e, dict) and "datatype" in e - and (_get_listdatatype(e["datatype"]) is not None)): - self.model[ent_name].add_property( - name=n, - importance=importance, - datatype=db.LIST(_get_listdatatype(e["datatype"]))) - elif e is None: - self.model[ent_name].add_property(name=n, - importance=importance) + 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"] + ) + else: + self.model[ent_name].add_property( + name=n, + importance=importance + ) + if "value" in e: + self.model[ent_name].get_property(n).value = e["value"] + else: self.model[ent_name].add_property(name=n, value=e, @@ -470,7 +482,8 @@ class Parser(object): continue - raise ValueError("Property {} has an unknown datatype: {}".format(value.name, value.datatype)) + raise ValueError("Property {} has an unknown datatype: {}".format( + value.name, value.datatype)) def _set_recordtypes(self): """ properties are defined in first iteration; set remaining as RTs """