diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb index 8aee1ac01698ad49dfa214d937779f92acb06c16..b711f75d6302ab066cf9f3264b0506a07c1c0216 100644 --- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb +++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb @@ -189,6 +189,15 @@ "print(f\"Detector instance {dinstance}\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "timestamp_before_processing = datetime.now().isoformat()" + ] + }, { "cell_type": "code", "execution_count": null, @@ -666,13 +675,15 @@ " # TODO: Set db_module to \"\" by default in the first cell\n", "\n", " data, mdata = get_from_db(\n", - " karabo_id,\n", - " qm_dict[qm][\"karabo_da\"],\n", + " karabo_id=karabo_id,\n", + " karabo_da=qm_dict[qm][\"karabo_da\"],\n", " constant=dconst,\n", " condition=condition,\n", " empty_constant=None,\n", " cal_db_interface=cal_db_interface,\n", - " creation_time=creation_time,\n", + " #creation_time=creation_time,\n", + " snapshot_at=timestamp_before_processing,\n", + " strategy=\"pdu_prior_in_time\",\n", " verbosity=2,\n", " timeout=cal_db_timeout\n", " )\n", diff --git a/src/cal_tools/tools.py b/src/cal_tools/tools.py index f8cd5279a060407d065f8d166015d59b77de9a49..551bb3e48cb8f2564dbd7403263b831bbd992269 100644 --- a/src/cal_tools/tools.py +++ b/src/cal_tools/tools.py @@ -461,6 +461,7 @@ def get_from_db(karabo_id: str, karabo_da: str, empty_constant: np.array, cal_db_interface: str, creation_time: Optional[datetime.datetime] = None, + snapshot_at: Optional[datetime.datetime] = None, verbosity: int = 1, timeout: int = 30000, ntries: int = 7, @@ -507,6 +508,9 @@ def get_from_db(karabo_id: str, karabo_da: str, if creation_time is not None and hasattr(creation_time, 'isoformat'): when = creation_time.isoformat() + if snapshot_at is not None and hasattr(snapshot_at, 'isoformat'): + snapshot_at = snapshot_at.isoformat() + metadata.calibration_constant_version.karabo_id = karabo_id metadata.calibration_constant_version.karabo_da = karabo_da @@ -522,7 +526,8 @@ def get_from_db(karabo_id: str, karabo_da: str, r = metadata.retrieve(this_interface, timeout=timeout, when=when, meta_only=meta_only, version_info=version_info, - strategy=strategy) + strategy=strategy, + snapshot_at=snapshot_at) if version_info: return r break