Coverage for python/lsst/pipe/base/cli/cmd/commands.py: 86%
22 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-13 02:51 -0800
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-13 02:51 -0800
1# This file is part of pipe_base.
2#
3# Developed for the LSST Data Management System.
4# This product includes software developed by the LSST Project
5# (http://www.lsst.org).
6# See the COPYRIGHT file at the top-level directory of this distribution
7# for details of code ownership.
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <http://www.gnu.org/licenses/>.
22from typing import Any
24import click
25from lsst.daf.butler.cli.opt import (
26 options_file_option,
27 register_dataset_types_option,
28 repo_argument,
29 transfer_dimensions_option,
30)
31from lsst.daf.butler.cli.utils import ButlerCommand
33from ... import script
34from ..opt import instrument_argument, update_output_chain_option
37@click.command(short_help="Add an instrument definition to the repository", cls=ButlerCommand)
38@repo_argument(required=True)
39@instrument_argument(required=True, nargs=-1, help="The fully-qualified name of an Instrument subclass.")
40@click.option("--update", is_flag=True)
41def register_instrument(*args: Any, **kwargs: Any) -> None:
42 """Add an instrument to the data repository."""
43 script.register_instrument(*args, **kwargs)
46@click.command(short_help="Transfer datasets from a graph to a butler.", cls=ButlerCommand)
47@click.argument("graph", required=True)
48@click.argument("dest", required=True)
49@register_dataset_types_option()
50@transfer_dimensions_option()
51@update_output_chain_option()
52@options_file_option()
53def transfer_from_graph(**kwargs: Any) -> None:
54 """Transfer datasets from a quantum graph to a destination butler.
56 SOURCE is a URI to the Butler repository containing the RUN dataset.
58 DEST is a URI to the Butler repository that will receive copies of the
59 datasets.
60 """
61 number = script.transfer_from_graph(**kwargs)
62 print(f"Number of datasets transferred: {number}")