Source code for aces.operations.tasks

"""This contains prefect wrapped tasks that call existing functions
defined under the aces.operations module
"""

import logging
from pathlib import Path

from prefect import get_run_logger, task

from aces.operations.actions import copy_measurement_set

[docs]logger = logging.getLogger(__name__)
@task(name="Measurement set copy")
[docs]def task_copy_ms_to_dir(target_ms: Path, output_dir: Path, overwrite: bool=False) -> Path: """Copy a measurement set from a source location to the working directory where the holography pipeline is being executed. Although measurement sets are strictly directories, this function could be expanded for measurement specific tasks. Args: target_ms (Path): Full path to the measurement set to be copied output_dir (Path): Location to save the measurement set overwrite (bool, optional): Overwrite the measurement set if it exists. Defaults to False. Returns: Path: The name of the copied measurement set in the target directory """ logger = get_run_logger() logger.info(f"Copying {target_ms=} to {output_dir}") output_path = copy_measurement_set(target_ms, output_dir, overwrite=overwrite) return output_path