diff --git a/src/caosdb/high_level_api.py b/src/caosdb/high_level_api.py index 8bcbbcdc59e8c83f2f9d10ddea94b71addb2f832..d4d89654a41ba03eb2fd3c141541e42e4a5f5bf8 100644 --- a/src/caosdb/high_level_api.py +++ b/src/caosdb/high_level_api.py @@ -700,76 +700,6 @@ def _single_convert_to_entity(entity: db.Entity, return entity - def add_property(entity, prop, name, _recursive=False, datatype=None): - if datatype is None: - raise RuntimeError("Datatype must not be None.") - - if isinstance(prop, CaosDBPythonEntity): - entity.add_property(name=name, value=str( - prop._id), datatype=datatype) - - if _recursive and not prop.do_not_expand: - return convert_to_entity(prop, recursive=_recursive) - else: - return [] - else: - if isinstance(prop, float) or isinstance(prop, int): - prop = str(prop) - entity.add_property(name=name, value=prop, datatype=datatype) - - return [] - - if recursive_depth == 0: - recursive = False - else: - recursive = True - - for prop in robj.get_properties(): - value = robj.__getattribute__(prop) - metadata = robj.get_property_metadata(prop) - - if isinstance(value, CaosDBPythonUnresolvedReference): - pass - elif isinstance(value, CaosDBMultiProperty): - raise NotImplementedError() - elif isinstance(value, list): - if robj._datatypes[prop][0:4] == "LIST": - lst = [] - - for v in value: - if isinstance(v, CaosDBPythonEntity): - lst.append(v._id) - - if recursive and not v.do_not_expand: - children.append(convert_to_entity( - v, recursive=recursive_depth-1)) - else: - if isinstance(v, float) or isinstance(v, int): - lst.append(str(v)) - else: - lst.append(v) - entity.add_property(name=prop, value=lst, - datatype=robj._datatypes[prop]) - else: - for v in value: - children.extend( - add_property( - entity, - v, - prop, - datatype=robj._datatypes[prop], - **kwargs)) - else: - children.extend( - add_property( - entity, - value, - prop, - datatype=robj._datatypes[prop], - **kwargs)) - - return [entity] + children - def convert_to_entity(python_object): if isinstance(python_object, db.Container):