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