From ad003716d19e758b7a49ae96fa012510b95d9021 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Thu, 16 Jul 2020 07:38:40 +0200 Subject: [PATCH] TMSS-190: (and TMSS-152) use/borrow QA spec from target if not given for calibrator obs --- SAS/TMSS/src/tmss/tmssapp/subtasks.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/SAS/TMSS/src/tmss/tmssapp/subtasks.py b/SAS/TMSS/src/tmss/tmssapp/subtasks.py index 361de1d280d..93c064cdb16 100644 --- a/SAS/TMSS/src/tmss/tmssapp/subtasks.py +++ b/SAS/TMSS/src/tmss/tmssapp/subtasks.py @@ -246,6 +246,15 @@ def create_qafile_subtask_from_observation_subtask(observation_subtask: Subtask) SubtaskType.Choices.QA_FILES.value, observation_subtask.pk)) obs_task_spec = observation_subtask.task_blueprint.specifications_doc + + if "QA" not in obs_task_spec: + # use QA settings from target obs for calibrators which have no QA spec. + target_task_blueprint = get_related_target_observation_task_blueprint(observation_subtask.task_blueprint) + if target_task_blueprint is not None: + obs_task_spec = target_task_blueprint.specifications_doc + logger.info("Using QA settings for calibrator observation task_blueprint id=%s from target observation task_blueprint id=%s to create QA subtasks", + observation_subtask.task_blueprint.id, target_task_blueprint.id) + obs_task_qafile_spec = obs_task_spec.get("QA", {}).get("file_conversion", {}) if not obs_task_qafile_spec.get("enabled", False): @@ -310,6 +319,15 @@ def create_qaplots_subtask_from_qafile_subtask(qafile_subtask: Subtask) -> Subta qafile_subtask.specifications_template.type, SubtaskType.Choices.QA_FILES.value)) obs_task_spec = qafile_subtask.task_blueprint.specifications_doc + + if "QA" not in obs_task_spec: + # use QA settings from target obs for calibrators which have no QA spec. + target_task_blueprint = get_related_target_observation_task_blueprint(qafile_subtask.task_blueprint) + if target_task_blueprint is not None: + obs_task_spec = target_task_blueprint.specifications_doc + logger.info("Using QA settings for calibrator observation task_blueprint id=%s from target observation task_blueprint id=%s to create QA subtasks", + qafile_subtask.task_blueprint.id, target_task_blueprint.id) + obs_task_qaplots_spec = obs_task_spec.get("QA", {}).get("plots", {}) if not obs_task_qaplots_spec.get("enabled", False): -- GitLab