diff --git a/python/lsst/pipe/tasks/functors.py b/python/lsst/pipe/tasks/functors.py index 1a96da20c..1340809e5 100644 --- a/python/lsst/pipe/tasks/functors.py +++ b/python/lsst/pipe/tasks/functors.py @@ -58,6 +58,7 @@ from astropy.coordinates import SkyCoord from lsst.daf.butler import DeferredDatasetHandle from lsst.pipe.base import InMemoryDatasetHandle +from lsst.resources import ResourcePath from lsst.utils import doImport from lsst.utils.introspection import get_full_type_name @@ -548,7 +549,7 @@ def renameCol(cls, col, renameRules): def from_file(cls, filename, **kwargs): # Allow environment variables in the filename. filename = os.path.expandvars(filename) - with open(filename) as f: + with ResourcePath(filename).open("r") as f: translationDefinition = yaml.safe_load(f) return cls.from_yaml(translationDefinition, **kwargs) diff --git a/tests/test_promptSourceSchema.py b/tests/test_promptSourceSchema.py index 2586c166d..fc06d7f29 100644 --- a/tests/test_promptSourceSchema.py +++ b/tests/test_promptSourceSchema.py @@ -33,13 +33,13 @@ import importlib.resources import lsst.utils.tests -from lsst.utils import getPackageDir +from lsst.resources import ResourcePath from lsst.pipe.tasks.postprocess import TransformSourceTableTask, TransformSourceTableConfig from lsst.pipe.tasks.schemaUtils import readSdmSchemaFile from lsst.pipe.tasks.split_primary import SplitPrimaryTask -FUNCTOR_FILE = os.path.join(getPackageDir("pipe_tasks"), "schemas", "prompt_source.yaml") +FUNCTOR_FILE = ResourcePath("eups://pipe_tasks/schemas/prompt_source.yaml") SCHEMA_FILE = importlib.resources.files("lsst.sdm.schemas") / "ap_extra.yaml" TABLE_NAME = "PromptSource" @@ -64,8 +64,9 @@ def setUpClass(cls): cls.schemaColumns = {column.name for column in schema[TABLE_NAME].columns} config = TransformSourceTableConfig() - config.functorFile = FUNCTOR_FILE - transformTask = TransformSourceTableTask(config=config) + with FUNCTOR_FILE.as_local() as local: + config.functorFile = local.ospath + transformTask = TransformSourceTableTask(config=config) producedColumns = set(transformTask.funcs.funcDict) | set(config.columnsFromDataId) # The final prompt_source table is output by splitPromptSource, which is configured diff --git a/ups/pipe_tasks.table b/ups/pipe_tasks.table index f2fa3b1a7..2c4dd7912 100644 --- a/ups/pipe_tasks.table +++ b/ups/pipe_tasks.table @@ -29,6 +29,7 @@ setupRequired(utils) setupRequired(verify) setupRequired(rubinoxide) setupRequired(cell_coadds) +setupRequired(resources) envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python) envPrepend(PATH, ${PRODUCT_DIR}/bin)