From 6e4714ae1e631da01cb3e6f469df0295cc89e213 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Fri, 22 Sep 2023 11:34:41 +0200
Subject: [PATCH] ENH: overwrite parents if they exist

---
 src/caoscrawler/converters.py | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/caoscrawler/converters.py b/src/caoscrawler/converters.py
index c8f4d229..4b1aa09e 100644
--- a/src/caoscrawler/converters.py
+++ b/src/caoscrawler/converters.py
@@ -24,29 +24,29 @@
 #
 
 from __future__ import annotations
-from jsonschema import validate, ValidationError
 
-import os
-import re
 import datetime
-import caosdb as db
 import json
+import logging
+import os
+import re
 import warnings
-from .utils import has_parent
-from .stores import GeneralStore, RecordStore
-from .structure_elements import (StructureElement, Directory, File, DictElement, JSONFile,
-                                 IntegerElement, BooleanElement, FloatElement, NoneElement,
-                                 TextElement, TextElement, ListElement)
-from typing import List, Optional, Tuple, Union
 from abc import ABCMeta, abstractmethod
 from string import Template
-import yaml_header_tools
+from typing import List, Optional, Tuple, Union
 
+import caosdb as db
 import pandas as pd
-import logging
-
-
 import yaml
+import yaml_header_tools
+from jsonschema import ValidationError, validate
+
+from .stores import GeneralStore, RecordStore
+from .structure_elements import (BooleanElement, DictElement, Directory, File,
+                                 FloatElement, IntegerElement, JSONFile,
+                                 ListElement, NoneElement, StructureElement,
+                                 TextElement)
+from .utils import has_parent
 
 # These are special properties which are (currently) treated differently
 # by the converters:
@@ -300,6 +300,7 @@ def create_records(values: GeneralStore, records: RecordStore, def_records: dict
         # no matter whether the record existed in the record store or not,
         # parents will be added when they aren't present in the record yet:
         if "parents" in record:
+            c_record.parents.clear()
             for parent in record["parents"]:
                 # Do the variables replacement:
                 var_replaced_parent = replace_variables(parent, values)
-- 
GitLab