diff --git a/src/caosadvancedtools/crawler.py b/src/caosadvancedtools/crawler.py index 747c533d7a4652434f967147d8a53d1847cfbb4e..99149c83a7897670d2bfcf1fa16db79ce8412c54 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)