From 1e037fc6372f9242b02fa906f1cd0f7906113ba9 Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Thu, 27 Jun 2024 11:03:38 -0700 Subject: [PATCH 1/2] Define the dataset type override method for chained datastore Previously it was a no-op but this left any file datastores inside the chained datastore without the necessary mapping to allow them to cast to the registry dataset type. --- python/lsst/daf/butler/datastores/chainedDatastore.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python/lsst/daf/butler/datastores/chainedDatastore.py b/python/lsst/daf/butler/datastores/chainedDatastore.py index 76008938d4..406b7ddc05 100644 --- a/python/lsst/daf/butler/datastores/chainedDatastore.py +++ b/python/lsst/daf/butler/datastores/chainedDatastore.py @@ -35,7 +35,7 @@ import logging import time import warnings -from collections.abc import Collection, Iterable, Mapping, Sequence +from collections.abc import Callable, Collection, Iterable, Mapping, Sequence from typing import TYPE_CHECKING, Any from lsst.daf.butler import DatasetRef, DatasetTypeNotSupportedError, FileDataset @@ -1229,3 +1229,8 @@ def get_opaque_table_definitions(self) -> Mapping[str, DatastoreOpaqueTable]: for datastore in self.datastores: tables.update(datastore.get_opaque_table_definitions()) return tables + + def set_retrieve_dataset_type_method(self, method: Callable[[str], DatasetType | None] | None) -> None: + # Docstring inherited from the base class. + for datastore in self.datastores: + datastore.set_retrieve_dataset_type_method(method) From 0ef6d1f89285bca062fb6ebae16a501208863dae Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Mon, 1 Jul 2024 15:04:20 -0700 Subject: [PATCH 2/2] Fix type annotation with new pydantic --- python/lsst/daf/butler/remote_butler/_query_driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lsst/daf/butler/remote_butler/_query_driver.py b/python/lsst/daf/butler/remote_butler/_query_driver.py index 54efe4e0eb..9106fa86c9 100644 --- a/python/lsst/daf/butler/remote_butler/_query_driver.py +++ b/python/lsst/daf/butler/remote_butler/_query_driver.py @@ -78,7 +78,7 @@ QueryInputs, ) -_QueryResultTypeAdapter = TypeAdapter(QueryExecuteResultData) +_QueryResultTypeAdapter = TypeAdapter[QueryExecuteResultData](QueryExecuteResultData) class RemoteQueryDriver(QueryDriver):