Skip to content

Commit

Permalink
Merge pull request #67 from lsst/tickets/DM-15887
Browse files Browse the repository at this point in the history
Use delayed StorageClass instantiation (DM-15887)
  • Loading branch information
andy-slac committed Nov 13, 2018
2 parents b461e1a + 17f9e8a commit e6a35c8
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 19 deletions.
7 changes: 2 additions & 5 deletions python/lsst/pipe/base/pipelineTask.py
Expand Up @@ -24,7 +24,7 @@

__all__ = ["DatasetTypeDescriptor", "PipelineTask"] # Classes in this module

from lsst.daf.butler import DatasetType, StorageClassFactory
from lsst.daf.butler import DatasetType
from .config import (InputDatasetConfig, OutputDatasetConfig,
InitInputDatasetConfig, InitOutputDatasetConfig)
from .task import Task
Expand Down Expand Up @@ -79,12 +79,9 @@ def fromConfig(cls, datasetConfig):
-------
descriptor : `DatasetTypeDescriptor`
"""
# map storage class name to storage class
storageClass = StorageClassFactory().getStorageClass(datasetConfig.storageClass)

datasetType = DatasetType(name=datasetConfig.name,
dataUnits=datasetConfig.units,
storageClass=storageClass)
storageClass=datasetConfig.storageClass)
# Use scalar=True for Init dataset types
scalar = getattr(datasetConfig, 'scalar', True)
return cls(datasetType=datasetType, scalar=scalar)
Expand Down
16 changes: 2 additions & 14 deletions tests/test_pipelineTask.py
Expand Up @@ -25,8 +25,7 @@
import unittest

import lsst.utils.tests
from lsst.daf.butler import (DatasetRef, DatasetType, Quantum, Run,
StorageClass, StorageClassFactory)
from lsst.daf.butler import DatasetRef, DatasetType, Quantum, Run
import lsst.pex.config as pexConfig
import lsst.pipe.base as pipeBase

Expand All @@ -51,15 +50,13 @@ def get(self, datasetRefOrType, dataId=None):
else:
dsTypeName = datasetRefOrType
key = self.key(dataId)
# print("butler.get: name={} key={}".format(ref.datasetType.name, key))
dsdata = self.datasets.get(dsTypeName)
if dsdata:
return dsdata.get(key)
return None

def put(self, inMemoryDataset, dsTypeName, dataId, producer=None):
key = self.key(dataId)
# print("butler.put: {} -> name={} key={}".format(inMemoryDataset, ref.datasetType.name, key))
dsdata = self.datasets.setdefault(dsTypeName, {})
dsdata[key] = inMemoryDataset

Expand Down Expand Up @@ -109,17 +106,12 @@ class DatasetTypeDescriptorTestCase(unittest.TestCase):
"""A test case for DatasetTypeDescriptor
"""

@classmethod
def setUpClass(cls):
StorageClassFactory().registerStorageClass(StorageClass("example"))

def testConstructor(self):
"""Test DatasetTypeDescriptor init
"""
storageClass = StorageClassFactory().getStorageClass("example")
datasetType = DatasetType(name="testDataset",
dataUnits=["UnitA"],
storageClass=storageClass)
storageClass="example")
descriptor = pipeBase.DatasetTypeDescriptor(datasetType=datasetType,
scalar=False)
self.assertIs(descriptor.datasetType, datasetType)
Expand Down Expand Up @@ -149,10 +141,6 @@ class PipelineTaskTestCase(unittest.TestCase):
"""A test case for PipelineTask
"""

@classmethod
def setUpClass(cls):
StorageClassFactory().registerStorageClass(StorageClass("example"))

def _makeDSRefVisit(self, dstype, visitId):
return DatasetRef(datasetType=dstype,
dataId=dict(camera="X",
Expand Down

0 comments on commit e6a35c8

Please sign in to comment.