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

DOC: Added docstring, fixed a few typos.

parent 0e2a2c52
No related branches found
No related tags found
2 merge requests!39Release 0.4.0,!36Revert "Revert "Merge branch 'f-extend-yaml-model' into 'dev'""
Pipeline #20745 passed
......@@ -25,7 +25,8 @@ import yaml
from .data_model import DataModel
# Keywords which are allowed in data model descriptions.
KEYWORDS = ["parent", # TODO: can we remove that, see: #36
KEYWORDS = ["parent", # deprecated, use inherit_from_* instead:
# https://gitlab.com/caosdb/caosdb-advanced-user-tools/-/issues/36
"importance",
"datatype", # for example TEXT, INTEGER or REFERENCE
"unit",
......@@ -37,7 +38,8 @@ KEYWORDS = ["parent", # TODO: can we remove that, see: #36
"inherit_from_suggested",
"inherit_from_obligatory",
"role",
"value", ]
"value",
]
# TODO: check whether it's really ignored
# These KEYWORDS are not forbidden as properties, but merely ignored.
......@@ -112,9 +114,9 @@ def parse_model_from_string(string):
class Parser(object):
def __init__(self):
"""
Initialize an empty parer object and initialize
the dictionary of entities and the list of treated elements.
"""Initialize an empty parser object and initialize the dictionary of entities and the list of
treated elements.
"""
self.model = {}
self.treated = []
......@@ -311,7 +313,25 @@ class Parser(object):
raise
def _add_to_recordtype(self, ent_name, props, importance):
"""Add properties to a RecordType."""
"""Add properties to a RecordType.
Parameters
----------
ent_name : str
The name of the entity to which the properties shall be added.
props : dict [str -> dict or :doc:`Entity`]
The properties, indexed by their names. Properties may be given as :doc:`Entity` objects
or as dictionaries.
importance
The importance as used in :doc:`Entity.add_property`.
Returns
-------
None
"""
for n, e in props.items():
if n in KEYWORDS:
......@@ -326,9 +346,10 @@ class Parser(object):
if isinstance(e, dict):
if "datatype" in e and _get_listdatatype(e["datatype"]) is not None:
# Reuse the existing datatype for lists.
datatype = db.LIST(_get_listdatatype(e["datatype"]))
else:
# ignore a possible e["datatype"] here if it's not a list
# 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
......
......@@ -408,7 +408,7 @@ def test_issue_72():
https://gitlab.indiscale.com/caosdb/src/caosdb-advanced-user-tools/-/issues/72
In some cases, faulty values would be read in for properties without a
secified value.
specified value.
"""
model = """
......
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