Skip to content
Snippets Groups Projects
Commit bc8df463 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

up

parent bda2ff4b
No related branches found
No related tags found
1 merge request!7Treat dependencies among identifiables
Pipeline #9731 failed
......@@ -30,6 +30,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ###
- identifiables of single CFoods are now treated one after the other. This
allows them to have dependencies among each other if they are ordered
correctly
- identifiables must have at least one property or a name
* `caosadvancedtools.serverside.helper.init_data_model` also checks the role
and data type of entities.
......
......@@ -576,6 +576,9 @@ carefully and if the changes are ok, click on the following link:
# looking for matching entities in CaosDB when there is no valid id
# i.e. there was none set from a cache
existing = []
inserted = []
for ent in identifiables:
if ent.id is None or ent.id < 0:
logger.debug("Looking for: {}".format(
......@@ -593,25 +596,31 @@ carefully and if the changes are ok, click on the following link:
ent.id = None
else:
missing = None
existing.append(ent)
if missing:
#info = "Going to insert the following entities:\n"
# for ent in missing_identifiables:
# info += str(ent)+"\n"
# logger.debug(info)
# if len(missing_identifiables) == 0:
# logger.debug("No new entities to be inserted.")
# else:
# logger.info(
# "Inserting {} Records...".format(
# len(missing_identifiables)))
try:
guard.safe_insert(missing, unique=False,
flags={"force-missing-obligatory": "ignore"})
inserted.append(ent)
except Exception as e:
DataModelProblems.evaluate_exception(e)
if len(existing) > 0:
info = "Identified the following existing entities:\n"
for ent in existing:
info += str(ent)+"\n"
logger.debug(info)
else:
logger.debug("Did not identify any existing entities")
if len(inserted) > 0:
info = "Inserted the following entities:\n"
for ent in inserted:
info += str(ent)+"\n"
logger.debug(info)
else:
logger.debug("Did not insert any new entities")
logger.debug("Retrieving entities from CaosDB...")
identifiables.retrieve(unique=True, raise_exception_on_error=False)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment