From b95c65fecae34737d9cac946c142782d8e22a4f8 Mon Sep 17 00:00:00 2001
From: leufen1 <l.leufen@fz-juelich.de>
Date: Mon, 13 Dec 2021 17:44:13 +0100
Subject: [PATCH] ensure that file is removed and also that data origin
 parameter is not mutable

---
 mlair/data_handler/data_handler_single_station.py | 1 +
 mlair/helpers/join.py                             | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/mlair/data_handler/data_handler_single_station.py b/mlair/data_handler/data_handler_single_station.py
index c21d5b41..360ab640 100644
--- a/mlair/data_handler/data_handler_single_station.py
+++ b/mlair/data_handler/data_handler_single_station.py
@@ -276,6 +276,7 @@ class DataHandlerSingleStation(AbstractDataHandler):
         filename = os.path.join(self.lazy_path, hash + ".pickle")
         try:
             if self.overwrite_lazy_data is True:
+                os.remove(filename)
                 raise FileNotFoundError
             with open(filename, "rb") as pickle_file:
                 lazy_data = dill.load(pickle_file)
diff --git a/mlair/helpers/join.py b/mlair/helpers/join.py
index 93cb0e7b..67591b29 100644
--- a/mlair/helpers/join.py
+++ b/mlair/helpers/join.py
@@ -43,6 +43,9 @@ def download_join(station_name: Union[str, List[str]], stat_var: dict, station_t
     # make sure station_name parameter is a list
     station_name = helpers.to_list(station_name)
 
+    # also ensure that given data_origin dict is no reference
+    data_origin = None if data_origin is None else {k: v for (k, v) in data_origin.items()}
+
     # get data connection settings
     join_url_base, headers = join_settings(sampling)
 
-- 
GitLab