Skip to content
Snippets Groups Projects
Commit 3bf6b29b authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

ENH: Add treatment of other atomic properties

parent 51e616a6
No related branches found
No related tags found
2 merge requests!39Release 0.4.0,!33F json schema datamodel
Pipeline #19448 failed
...@@ -521,7 +521,17 @@ class JsonSchemaParser(Parser): ...@@ -521,7 +521,17 @@ class JsonSchemaParser(Parser):
if name in self.model: if name in self.model:
return ent return ent
if elt["type"] == "string": if elt["type"] == "string":
ent = db.Property(name=name, datatype=db.TEXT) if "format" in elt and elt["format"] == "date-time":
# Treat datetime strings separately
ent = db.Property(name=name, datatype=db.DATETIME)
else:
ent = db.Property(name=name, datatype=db.TEXT)
elif elt["type"] == "integer":
ent = db.Property(name=name, datatype=db.INTEGER)
elif elt["type"] == "number":
ent = db.Property(name=name, datatype=db.DOUBLE)
elif elt["type"] == "boolean":
ent = db.Property(name=name, datatype=db.BOOLEAN)
elif elt["type"] == "object": elif elt["type"] == "object":
ent = self._treat_record_type(elt, name) ent = self._treat_record_type(elt, name)
else: else:
......
...@@ -70,7 +70,7 @@ def test_datamodel_with_atomic_properties(): ...@@ -70,7 +70,7 @@ def test_datamodel_with_atomic_properties():
rt1 = model["Dataset1"] rt1 = model["Dataset1"]
assert isinstance(rt1, db.RecordType) assert isinstance(rt1, db.RecordType)
assert rt.name == "Dataset1" assert rt1.name == "Dataset1"
assert rt1.description == "Some description" assert rt1.description == "Some description"
assert len(rt1.get_properties()) == 3 assert len(rt1.get_properties()) == 3
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment