From a6a363517c4b6535a9120991b225354d59b5f8c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org>
Date: Fri, 2 Jul 2021 08:14:52 +0200
Subject: [PATCH] trial

---
 src/caosadvancedtools/crawler.py | 46 +++++++++++++++-----------------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/src/caosadvancedtools/crawler.py b/src/caosadvancedtools/crawler.py
index 747c533d..99149c83 100644
--- a/src/caosadvancedtools/crawler.py
+++ b/src/caosadvancedtools/crawler.py
@@ -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)
-- 
GitLab