From ac632c541d3186fcfd73d8a6ee5b3866cf440bb6 Mon Sep 17 00:00:00 2001 From: Philipp Schmidt <philipp.schmidt@xfel.eu> Date: Wed, 10 Apr 2024 13:17:27 +0200 Subject: [PATCH] Copy file before injection and delete copy if it fails --- src/cal_tools/constants.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cal_tools/constants.py b/src/cal_tools/constants.py index a5052a1e2..82cbcc85b 100644 --- a/src/cal_tools/constants.py +++ b/src/cal_tools/constants.py @@ -184,15 +184,17 @@ def inject_ccv(const_src, ccv_root, report_to): } } - resp = CalibrationClient.inject_new_calibration_constant_version(calibration_client(), inject_h) - - if not resp['success']: - raise RuntimeError(resp) - const_dest = _get_default_caldb_root() / const_rel_path / const_filename const_dest.parent.mkdir(parents=True, exist_ok=True) copyfile(const_src, const_dest) + resp = CalibrationClient.inject_new_calibration_constant_version( + calibration_client(), inject_h) + + if not resp['success']: + const_dest.unlink() # Delete already copied CCV file. + raise RuntimeError(resp) + def inject_ccv_legacy(in_folder, metadata_folder, runs, calibration, cond, pdu, const_input, begin_at): -- GitLab