From 50f3a74f18cef859d0c8195bb9ea97c5a36ad244 Mon Sep 17 00:00:00 2001
From: Alexander Schlemmer <alexander.schlemmer@ds.mpg.de>
Date: Thu, 12 May 2022 16:30:51 +0200
Subject: [PATCH] FIX: additional type checks for necessary for variable
 substitution

---
 src/newcrawler/converters.py | 3 +++
 src/newcrawler/crawl.py      | 1 +
 unittests/test_tool.py       | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/src/newcrawler/converters.py b/src/newcrawler/converters.py
index 79ee17dc..3b7c1d7d 100644
--- a/src/newcrawler/converters.py
+++ b/src/newcrawler/converters.py
@@ -96,6 +96,9 @@ def handle_value(value: Union[dict, str], values: GeneralStore):
     if match is not None:
         varname = match.group("varname")
         if varname in values:
+            if values[varname] is None:
+                propvalue = None
+                return (propvalue, collection_mode)
             if isinstance(values[varname], db.Entity):
                 propvalue = values[varname]
                 return (propvalue, collection_mode)
diff --git a/src/newcrawler/crawl.py b/src/newcrawler/crawl.py
index be4a997c..de350a2a 100644
--- a/src/newcrawler/crawl.py
+++ b/src/newcrawler/crawl.py
@@ -769,6 +769,7 @@ class Crawler(object):
             updateList)
 
         # remove unnecessary updates from list
+        # TODO: refactoring of typo
         for el in to_be_updated:
             self.replace_entities_by_ids(el)
 
diff --git a/unittests/test_tool.py b/unittests/test_tool.py
index dd9fb83d..404d04f1 100755
--- a/unittests/test_tool.py
+++ b/unittests/test_tool.py
@@ -249,6 +249,8 @@ def test_crawler_update_list(crawler, ident):
 
 def test_synchronization(crawler, ident):
     insl, updl = crawler.synchronize(commit_changes=False)
+    # breakpoint()
+    # ident.check_record(ident.get_records()[1], insl[0])
     assert len(insl) == 0
     assert len(updl) == 0
 
-- 
GitLab