From 94a3c46b89b2397cf1d66a1c62f00f43ac2953e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com> Date: Fri, 14 Aug 2020 09:54:38 +0200 Subject: [PATCH] MAINT: use update arguments in guard --- src/caosadvancedtools/crawler.py | 4 ++-- src/caosadvancedtools/guard.py | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/caosadvancedtools/crawler.py b/src/caosadvancedtools/crawler.py index f4aefb7d..b7c7c749 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 85c91b60..aa37448d 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 -- GitLab