From 5e738766594809146c1ccde6cdf425a7442aa46e Mon Sep 17 00:00:00 2001
From: Peter Luenenschloss <peter.luenenschloss@ufz.de>
Date: Mon, 9 Dec 2019 16:45:51 +0100
Subject: [PATCH] more small bugfixes

---
 saqc/funcs/harm_functions.py  |  6 ++++++
 test/funcs/test_harm_funcs.py | 14 +++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/saqc/funcs/harm_functions.py b/saqc/funcs/harm_functions.py
index e084161a4..28e4085ac 100644
--- a/saqc/funcs/harm_functions.py
+++ b/saqc/funcs/harm_functions.py
@@ -616,6 +616,12 @@ def _reshapeFlags(
         if method == "nearest_agg":
             flags = flags.shift(periods=-shift_correcture, freq=pd.Timedelta(freq) / 2)
 
+        # some consistency clean up to ensure new flags frame matching new data frames size:
+        if ref_index[0] != flags.index[0]:
+            flags = pd.Series(data=flagger.BAD, index=[ref_index[0]], dtype=flagger.dtype).append(flags)
+        if ref_index[-1] != flags.index[-1]:
+            flags = flags.append(pd.Series(data=flagger.BAD, index=[ref_index[-1]], dtype=flagger.dtype))
+
         flagger_new = flagger.initFlags(flags=flags.to_frame(name=field))
 
     else:
diff --git a/test/funcs/test_harm_funcs.py b/test/funcs/test_harm_funcs.py
index bf5fc29ca..42f13a1dc 100644
--- a/test/funcs/test_harm_funcs.py
+++ b/test/funcs/test_harm_funcs.py
@@ -35,7 +35,7 @@ INTERPOLATIONS2 = ["fagg", "time", "polynomial"]
 FREQS = ["15min", "30min"]
 
 
-@pytest.fixture
+#@pytest.fixture
 def data():
     index = pd.date_range(
         start="1.1.2011 00:00:00", end="1.1.2011 01:00:00", freq="15min"
@@ -339,3 +339,15 @@ def test_wrapper(data, flagger):
                                   flag_agg_func=max, drop_flags=None)
     shift2Grid(data, field, flagger, freq, shift_method='nearest_shift', drop_flags=None)
 
+if __name__ == "__main__":
+    dat = data()
+    dat = dat.drop(dat.index[1:3])
+    dat2 = dat.copy()
+    flagger = TESTFLAGGER[2]
+    flagger2 = TESTFLAGGER[2]
+    flagger = flagger.initFlags(dat)
+    flagger2 = flagger.initFlags(dat2)
+    dat_out, flagger = linear2Grid(dat, 'data', flagger, '15min', flag_assignment_method='nearest_agg',
+                                    flag_agg_func=max, drop_flags=None)
+
+    print("stop")
\ No newline at end of file
-- 
GitLab