diff --git a/src/cal_tools/agipdlib.py b/src/cal_tools/agipdlib.py index 62061f47f4236012e2da2c5e53a5198baa814fed..3c63161375594e44ea2535ccb41584cebf29ff56 100644 --- a/src/cal_tools/agipdlib.py +++ b/src/cal_tools/agipdlib.py @@ -1415,34 +1415,28 @@ class AgipdCorrections: # to skip correcting this module. return - def initialize_from_db( - self, karabo_id: str, - karabo_da: str, - module_idx: int, - creation_time: datetime, - memory_cells: int, - bias_voltage: int, - gain_setting: float, - gain_mode: int, - acquisition_rate: float, - integration_time: int, - photon_energy: float = 9.2, - client=None, + def initialize_from_db(self, karabo_id: str, karabo_da: str, + cal_db_interface: str, + creation_time: datetime, + memory_cells: float, bias_voltage: int, + gain_setting: float, acquisition_rate: float, + integration_time: int, module_idx: int, + photon_energy: float = 9.2, client = None, ): """ Initialize calibration constants from the calibration database - :param karabo_id: karabo detector identifier. - :param karabo_da: karabo module data aggregator name. - :param module_idx: module index to save retrieved CCV in sharedmem. - :param creation_time: time for desired calibration constant version. - :param memory_cells: number of memory cells used for CCV conditions. - :param bias_voltage: bias voltage used for CCV conditions. - :param gain_setting: gain setting used for CCV conditions. - :param gain_mode: gain mode used for CCV conditions. - :param acquisition_rate: acquistion rate used for CCV conditions. - :param integration_time: integration time used for CCV conditions. - :param photon_energy: photon energy value used for CCV conditions. - :param client: calibration_client object for CalibrationData objects. + :param karabo_id: karabo detector identifier + :param karabo_da: karabo module data aggregator name + :param module_idx: module index to save retrieved CCV in sharedmem + :param creation_time: time for desired calibration constant version + :param memory_cells: number of memory cells used for CCV conditions + :param bias_voltage: bias voltage used for CCV conditions + :param gain_setting: gain setting used for CCV conditions + :param gain_mode: gain mode used for CCV conditions + :param acquisition_rate: acquistion rate used for CCV conditions + :param integration_time: integration time used for CCV conditions + :param photon_energy: photon energy value used for CCV conditions + :param client: calibration_client object for CalibrationData objects Loading the following constants based on the correction configuration: diff --git a/src/cal_tools/calcat_interface.py b/src/cal_tools/calcat_interface.py index 00c1a52ea59962bf3f6be2c23eb071001c924235..0a84efc6ff3dabc4fca364ccf483e651e2282c1c 100644 --- a/src/cal_tools/calcat_interface.py +++ b/src/cal_tools/calcat_interface.py @@ -763,8 +763,10 @@ class CalibrationData: for db_name in parameters: value = getattr(self, self._simplify_parameter_name(db_name), None) + if value is not None: cond[db_name] = value + return cond @classmethod @@ -1033,6 +1035,7 @@ class AGIPD_CalibrationData(SplitConditionCalibrationData): def _build_condition(self, parameters): cond = super()._build_condition(parameters) + # Fix-up some database quirks. gain_mode = cond.get("Gain mode", None) diff --git a/tests/test_cal_tools.py b/tests/test_cal_tools.py index 937b8b7d1a846c76496fbe3c8c8c2f5b908e6f3f..59a14d2cb2e27e26fe76b39941f780e201bb78da 100644 --- a/tests/test_cal_tools.py +++ b/tests/test_cal_tools.py @@ -407,8 +407,8 @@ def test_get_pdu_from_db(_agipd_const_cond): "CAL_PHYSICAL_DETECTOR_UNIT-2_TEST"] -# TODO add a marker for accessing zmq end_point @pytest.mark.requires_gpfs +@pytest.mark.requires_caldb def test_no_constants_initialize_from_db(): agipd_corr = AgipdCorrections( @@ -430,8 +430,8 @@ def test_no_constants_initialize_from_db(): ) assert when == None -# TODO add a marker for accessing zmq end_point @pytest.mark.requires_gpfs +@pytest.mark.requires_caldb def test_initialize_from_db(): creation_time = datetime.strptime( "2020-01-07 13:26:48.00", "%Y-%m-%d %H:%M:%S.%f")