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

Merge branch 'f-doc-list-appending' into 'dev'

DOC: Add short list-value example

See merge request !30
parents cf13029a 93483c7c
No related branches found
No related tags found
2 merge requests!33MAINT: change arguments of create_user,!30DOC: Add short list-value example
Pipeline #14617 passed
......@@ -90,6 +90,7 @@ def is_reference(datatype):
else:
return True
def get_referenced_recordtype(datatype):
"""Return the record type of the referenced datatype.
......@@ -119,7 +120,8 @@ def get_referenced_recordtype(datatype):
raise ValueError("list does not have a list datatype")
if datatype == FILE:
raise ValueError("FILE references are not considered references with a record type")
raise ValueError(
"FILE references are not considered references with a record type")
return datatype
......
......@@ -49,11 +49,11 @@ resolution, but we'll omit this for the sake of brevity for now.
.. code:: python
rt = db.RecordType(name="2D_BarkleySimulation",
description="Spatially extended Barkley simulation")
description="Spatially extended Barkley simulation")
# inherit all properties from the BarkleySimulation RecordType
rt.add_parent(name="BarkleySimulation", inheritance="all")
rt.insert()
print(rt.get_property(name="epsilon").importance) ### rt has a "epsilon" property with the same importance as "BarkleySimulation"
The parameter ``inheritance=(obligatory|recommended|fix|all|none)`` of
......@@ -135,15 +135,37 @@ Useful is also, that you can insert directly tabular data.
.. code:: python
from caosadvancedtools.table_converter import from_tsv
recs = from_tsv("test.csv", "Experiment")
print(recs)
recs.insert()
from caosadvancedtools.table_converter import from_tsv
recs = from_tsv("test.csv", "Experiment")
print(recs)
recs.insert()
With this example file
`test.csv <uploads/4f2c8756a26a3984c0af09d206d583e5/test.csv>`__.
List Properties
---------------
As you may already know, properties can also have list values instead of scalar
values. They can be accessed, set, and updated as you would expect from any
list-valued attribute in Python, as the following example illustrates.
.. code:: python
import caosdb as db
db.Property(name="TestList", datatype=db.LIST(db.DOUBLE)).insert()
db.RecordType(name="TestType").add_property(name="TestList").insert()
db.Record(name="TestRec").add_parent("TestType").add_property(
name="TestList", value=[1,2,3]).insert()
retrieved = db.Record(name="TestRec").retrieve()
retrieved.get_property("TestList").value += [4,5]
retrieved.update()
# Check update
retrieved = db.Record(name="TestRec").retrieve()
print(retrieved.get_property("TestList").value)
File Update
-----------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment