diff --git a/src/cal_tools/calcat_interface.py b/src/cal_tools/calcat_interface.py index 9049fae0004c0394b27274e75224516e07135963..0eba531d1a59b7b57c986a99873c317310a5abfd 100644 --- a/src/cal_tools/calcat_interface.py +++ b/src/cal_tools/calcat_interface.py @@ -106,7 +106,7 @@ class CalCatApi(metaclass=ClientWrapper): """Parse different ways to specify time to CalCat.""" if isinstance(dt, datetime): - return dt.astimezone(timezone.utc).strftime("%Y%m%dT%H%M%S%Z") + return dt.astimezone(timezone.utc).isoformat() elif isinstance(dt, date): return cls.format_time(datetime.combine(dt, time())) @@ -528,8 +528,6 @@ class CalibrationData: self.detector["id"], self.pdu_snapshot_at, self.module_naming ) - - @property def condition(self): return self._build_condition(self.parameters) @@ -589,7 +587,7 @@ class CalibrationData: self, module, calibration, - metadata, + metadata=None, ): """Load CCV data as ndarray. @@ -602,6 +600,8 @@ class CalibrationData: Returns: (ndarray): CCV data """ + import numpy as np + if self.caldb_root is None: raise RuntimeError("calibration database store unavailable") @@ -611,7 +611,10 @@ class CalibrationData: if metadata is None: metadata = self.metadata([calibration]) - return self._load_ccv_data(metadata, module, calibration) + row = metadata[module][calibration] + + with h5py.File(self.caldb_root / row['path'], 'r') as f: + return np.asarray(f[row['dataset'] + '/data']) def _allocate_constant_arrays(self, metadata, const_load_mp, const_data):