Coverage for python/lsst/daf/butler/script/_associate.py: 60%
10 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-08 05:04 -0700
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-08 05:04 -0700
1# This file is part of daf_butler.
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/>.
21from __future__ import annotations
23from collections.abc import Iterable
25from .._butler import Butler
26from ..registry import CollectionType
27from .queryDatasets import QueryDatasets
30def associate(
31 repo: str,
32 collection: str,
33 dataset_type: Iterable[str],
34 collections: Iterable[str],
35 where: str,
36 find_first: bool,
37) -> None:
38 """Add existing datasets to a CHAINED collection."""
40 butler = Butler(repo, writeable=True)
42 butler.registry.registerCollection(collection, CollectionType.TAGGED)
44 results = QueryDatasets(
45 butler=butler,
46 glob=dataset_type,
47 collections=collections,
48 where=where,
49 find_first=find_first,
50 show_uri=False,
51 repo=None,
52 )
54 butler.registry.associate(collection, results.getDatasets())