Skip to content
Snippets Groups Projects
Verified Commit 4c3cd343 authored by Daniel Hornung's avatar Daniel Hornung
Browse files

FIX: YAML parser: Descriptions are honored now for list properties.

parent 526b634d
No related branches found
No related tags found
2 merge requests!89ENH: JsonSchemaExporter accepts do_not_create parameter.,!88jsex / yaml parser
Pipeline #44122 failed
......@@ -533,9 +533,13 @@ debug : bool, optional
if not isinstance(definition, dict):
return
if ("datatype" in definition
and definition["datatype"].startswith("LIST")):
# These definition items must be handled even for list props.
for prop_name, prop in definition.items():
if prop_name == "description":
self.model[name].description = prop
# For lists, everything else is not needed at this level.
if ("datatype" in definition and definition["datatype"].startswith("LIST")):
return
if name in self.treated:
......@@ -553,7 +557,8 @@ debug : bool, optional
self.model[name].value = prop
elif prop_name == "description":
self.model[name].description = prop
# Handled above
continue
elif prop_name == "recommended_properties":
self._add_to_recordtype(
......
......@@ -21,7 +21,7 @@ from datetime import date
from tempfile import NamedTemporaryFile
from pytest import deprecated_call, raises, mark
import caosdb as db
import linkahead as db
from caosadvancedtools.models.parser import (TwiceDefinedException,
YamlDefinitionError,
parse_model_from_string,
......@@ -302,10 +302,12 @@ A:
def test_reference_property(self):
"""Test correct creation of reference property using an RT."""
modeldef = """A:
modeldef = """
A:
recommended_properties:
ref:
datatype: LIST<A>
description: new description
"""
model = parse_model_from_string(modeldef)
self.assertEqual(len(model), 2)
......@@ -315,6 +317,7 @@ A:
elif key == "ref":
self.assertTrue(isinstance(value, db.Property))
self.assertEqual(value.datatype, "LIST<A>")
assert value.description == "new description"
class ExternTest(unittest.TestCase):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment