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