From 836ca46528053875f5114368b2069c28b85289e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Sch=C3=A4fer?= <david.schaefer@ufz.de>
Date: Thu, 22 Jul 2021 12:40:47 +0000
Subject: [PATCH] Expose data and flag through `SaQC`

---
 saqc/core/core.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/saqc/core/core.py b/saqc/core/core.py
index 0409cc35f..12a3ce059 100644
--- a/saqc/core/core.py
+++ b/saqc/core/core.py
@@ -119,6 +119,24 @@ def _setup():
 _setup()
 
 
+class Accessor:
+    def __init__(self, obj: Union[DictOfSeries, pd.DataFrame, Flags]):
+        self._obj = obj
+
+    def __getitem__(self, key):
+        return self._obj[key]
+
+    @property
+    def columns(self):
+        return self._obj.columns
+
+    def __len__(self):
+        return len(self.columns)
+
+    def __repr__(self):
+        return self._obj.__repr__()
+
+
 class SaQC(FuncModules):
     def __init__(
         self,
@@ -193,6 +211,14 @@ class SaQC(FuncModules):
             setattr(out, k, v)
         return out
 
+    @property
+    def data(self) -> Accessor:
+        return Accessor(self.evaluate()._data)
+
+    @property
+    def flags(self) -> Accessor:
+        return Accessor(self.evaluate()._flags)
+
     def readConfig(self, fname):
         from saqc.core.reader import readConfig
 
-- 
GitLab