From a53164fd4c8fc447f59f8541980c04dc825e9f8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Thu, 10 Nov 2022 12:27:28 +0100
Subject: [PATCH] MAINT: add fallback parent only when the object is created

---
 src/caoscrawler/converters.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/caoscrawler/converters.py b/src/caoscrawler/converters.py
index 6f76a1da..90b894c5 100644
--- a/src/caoscrawler/converters.py
+++ b/src/caoscrawler/converters.py
@@ -205,6 +205,10 @@ def create_records(values: GeneralStore,
             # additionally add the new record to the general store:
             values[name] = c_record
 
+            # add the "fallback" parent only for Records, not for Files:
+            if (role == "Record" and "parents" not in record):
+                c_record.add_parent(name)
+
         c_record = records[name]
 
         for key, value in record.items():
@@ -252,12 +256,6 @@ def create_records(values: GeneralStore,
                 var_replaced_parent = replace_variables(parent, values)
                 if not has_parent(c_record, var_replaced_parent):
                     c_record.add_parent(var_replaced_parent)
-        else:
-            # add the "fallback" parent only for Records, not for Files:
-            if role == "Record":
-                # if not has_parent(c_record, name):
-                if len(c_record.parents) == 0:
-                    c_record.add_parent(name)
     return keys_modified
 
 
-- 
GitLab