diff --git a/src/caosadvancedtools/crawler.py b/src/caosadvancedtools/crawler.py index f4aefb7d883ab9ddb6a009ad3dbba52ca402b393..b7c7c749f80e133e9ce37552d7c17e776d0481d4 100644 --- a/src/caosadvancedtools/crawler.py +++ b/src/caosadvancedtools/crawler.py @@ -491,7 +491,7 @@ carefully and if the changes are ok, click on the following link: logger.debug(cfood.to_be_updated) try: - guard.safe_update(cfood.to_be_updated) + guard.safe_update(cfood.to_be_updated, unique=False) except ProhibitedException: self.update_cache.insert(cfood.to_be_updated, self.run_id) except Exception as e: @@ -539,7 +539,7 @@ carefully and if the changes are ok, click on the following link: logger.debug("No new entities to be inserted.") else: try: - guard.safe_insert(missing_identifiables) + guard.safe_insert(missing_identifiables, unique=False) except Exception as e: DataModelProblems.evaluate_exception(e) diff --git a/src/caosadvancedtools/guard.py b/src/caosadvancedtools/guard.py index 85c91b60a9f45e121b68c51804745b9bd793c201..aa37448def63a356ff6e3b89327e34dbe4c510be 100644 --- a/src/caosadvancedtools/guard.py +++ b/src/caosadvancedtools/guard.py @@ -20,7 +20,6 @@ import caosdb as db - RETRIEVE = 0 INSERT = 1 UPDATE = 2 @@ -36,10 +35,10 @@ class Guard(object): self.freshly_created = [] self.level = level - def safe_insert(self, obj): + def safe_insert(self, obj, *args, **kwargs): if self.level < INSERT: raise ProhibitedException("not allowed") - obj.insert() + obj.insert(*args, **kwargs) if isinstance(obj, db.Container): self.freshly_created.extend([ @@ -47,7 +46,7 @@ class Guard(object): else: self.freshly_created.append(obj.id) - def safe_update(self, obj, **kwargs): + def safe_update(self, obj, *args, **kwargs): if isinstance(obj, db.Container): all_fresh = True @@ -58,12 +57,12 @@ class Guard(object): if self.level < UPDATE and not all_fresh: raise ProhibitedException("not allowed") else: - obj.update(**kwargs) + obj.update(*args, **kwargs) else: if self.level < UPDATE and obj.id not in self.freshly_created: raise ProhibitedException("not allowed") else: - obj.update(**kwargs) + obj.update(*args, **kwargs) def set_level(self, level): self.level = level