Skip to content
Snippets Groups Projects

Treat dependencies among identifiables

Merged Henrik tom Wörden requested to merge f-ident-deps into dev
4 unresolved threads
@@ -587,33 +587,31 @@ carefully and if the changes are ok, click on the following link:
else:
logger.debug("Id is known of: {}".format(ent))
# insert missing, i.e. those which are not valid
missing_identifiables = db.Container()
missing_identifiables.extend([ent for ent in identifiables
if ent.id is None or ent.id < 0])
# TODO the following should not be necessary. Fix it
for ent in missing_identifiables:
ent.id = None
# insert missing, i.e. those which are not valid
if ent.id is None or ent.id < 0:
missing = ent
ent.id = None
else:
missing = None
if len(missing_identifiables) > 0:
info = "Going to insert the following entities:\n"
if missing:
#info = "Going to insert the following entities:\n"
for ent in missing_identifiables:
info += str(ent)+"\n"
logger.debug(info)
# 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:
try:
logger.info(
"Inserting {} Records...".format(
len(missing_identifiables)))
guard.safe_insert(missing_identifiables, unique=False,
flags={"force-missing-obligatory": "ignore"})
except Exception as e:
DataModelProblems.evaluate_exception(e)
# 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"})
except Exception as e:
DataModelProblems.evaluate_exception(e)
logger.debug("Retrieving entities from CaosDB...")
identifiables.retrieve(unique=True, raise_exception_on_error=False)
Loading