From 172adc2f84c8f9fe6f0122c3781f19455465463c Mon Sep 17 00:00:00 2001 From: Thomas Kluyver <thomas@kluyver.me.uk> Date: Fri, 24 Sep 2021 10:54:43 +0100 Subject: [PATCH] Add xfel-calibrate --constants-from option to reuse constant info from a calibration_metadata.yml --- src/xfel_calibrate/calibrate.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py index 159891a39..f6a762b44 100755 --- a/src/xfel_calibrate/calibrate.py +++ b/src/xfel_calibrate/calibrate.py @@ -23,6 +23,7 @@ import nbformat import numpy as np from jinja2 import Template from nbparameterise import extract_parameters, parameter_values, replace_definitions +import yaml import cal_tools.tools @@ -86,6 +87,11 @@ def make_initial_parser(**kwargs): help='Name of concurrency parameter.' 'If not given, it is taken from configuration.') + parser.add_argument('--constants-from', type=str, help=( + "Path to a calibration-metadata.yml file. If given, " + "retrieved-constants will be copied to use for a new correction." + )) + parser.add_argument('--priority', type=int, default=2, help="Priority of batch jobs. If priority<=1, reserved" " nodes become available.") @@ -1073,6 +1079,10 @@ def run(): 'path': python_exe, 'python-version': get_python_version(python_exe), } + if args["constants_from"]: + with open(args["constants_from"], "r", encoding='utf-8') as f: + d = yaml.safe_load(f) + metadata["retrieved-constants"] = d["retrieved-constants"] metadata.save() # Record installed Python packages for reproducing the environment -- GitLab