From 1e5d48c460387ec39af2335f771f9d2dfe77dd7d Mon Sep 17 00:00:00 2001
From: Bert Palm <bert.palm@ufz.de>
Date: Fri, 12 Feb 2021 21:35:07 +0100
Subject: [PATCH] Apply 7 suggestion(s) to 2 file(s)

---
 saqc/common.py        |  2 +-
 saqc/flagger/flags.py | 26 +++++++-------------------
 2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/saqc/common.py b/saqc/common.py
index 9f73c1b23..71d4cbb06 100644
--- a/saqc/common.py
+++ b/saqc/common.py
@@ -5,5 +5,5 @@ from numpy import nan as _nan
 UNTOUCHED = _nan
 UNFLAGGED = 0
 DOUBTFUL = 25
-BAD = 99
+BAD = 255
 
diff --git a/saqc/flagger/flags.py b/saqc/flagger/flags.py
index cc97bf423..40b4f4802 100644
--- a/saqc/flagger/flags.py
+++ b/saqc/flagger/flags.py
@@ -72,7 +72,6 @@ class Flags:
             raw_data = raw_data._data
 
         # with python 3.7 dicts are insertion-ordered by default
-        self._data: Dict[str, History]
         self._data = self._init_from_raw(raw_data, copy)
 
         # this is a simple cache that reduce the calculation of the flags
@@ -117,7 +116,7 @@ class Flags:
 
     @property
     def _constructor(self) -> Type['Flags']:
-        return Flags
+        return type(self)
 
     # ----------------------------------------------------------------------
     # mata data
@@ -143,7 +142,7 @@ class Flags:
         _data, _cache = {}, {}
 
         for old, new in zip(self.columns, value):
-            _data[new] = self._data.pop(old)
+            _data[new] = self._data[old]
 
             if old in self._cache:
                 _cache[new] = self._cache[old]
@@ -179,13 +178,10 @@ class Flags:
             return
 
         if key not in self._data:
-            hist = History()
-
-        else:
-            hist = self._data[key]
-
-        hist.append(value, force=force)
-        self._cache.pop(key, None)
+            self._data[key] = History()
+        
+        self._data[key].append(value, force=force)
+        self._cache.pop(key, None)     
 
     def force(self, key: str, value: pd.Series) -> Flags:
         """
@@ -209,7 +205,7 @@ class Flags:
         return self
 
     def __delitem__(self, key):
-        del self._data[key]
+        self._data.pop(key)
         self._cache.pop(key, None)
 
     def drop(self, key: str):
@@ -328,11 +324,3 @@ def init_flags_like(reference: Union[pd.Series, _DictLike, Flags], initial_value
 
     return Flags(result)
 
-
-if __name__ == '__main__':
-    from dios import example_DictOfSeries
-
-    f = init_flags_like(example_DictOfSeries(), initial_value=-3.)
-    print(f)
-    print(Flags())
-    print(Flags(example_DictOfSeries().astype(float)))
-- 
GitLab