Skip to content

Commit

Permalink
Switch to on/off config for metadata, fixed dataset name
Browse files Browse the repository at this point in the history
  • Loading branch information
andy-slac committed Dec 6, 2019
1 parent 6887494 commit 73022bf
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 22 deletions.
11 changes: 3 additions & 8 deletions python/lsst/pipe/base/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,9 @@ class to allow configuration of the connections class. This dynamically
created config class is then attached to the `PipelineTaskConfig` via a
`~lsst.pex.config.ConfigField` with the attribute name `connections`.
"""
metadataDataset = pexConfig.ChoiceField(
dtype=str,
doc="Choice for the name of metadata dataset.",
allowed={"label": "Use task label in dataset name, \"<label>_metadata\".",
"taskName": "Use task name in dataset name, \"<taskName>_metadata\".",
None: "Disables writing of task metadata."},
default="label",
optional=True)
saveMetadata = pexConfig.Field(
dtype=bool, default=True, optional=False,
doc="Flag to enable/disable metadata saving for a task, enabled by default.")


class ResourceConfig(pexConfig.Config):
Expand Down
9 changes: 2 additions & 7 deletions python/lsst/pipe/base/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,10 @@ def metadataDatasetName(self):
"""Name of a dataset type for metadata of this task, `None` if
metadata is not to be saved (`str`)
"""
if self.config.metadataDataset == "label":
if self.config.saveMetadata:
return self.label + "_metadata"
elif self.config.metadataDataset == "taskName":
return self.taskName + "_metadata",
elif self.config.metadataDataset is None:
return None
else:
raise ValueError("Unexpected value of config.metadataDataset = " +
str(self.config.metadataDataset))
return None

def __str__(self):
rep = "TaskDef(" + self.taskName
Expand Down
10 changes: 3 additions & 7 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,9 @@ def testMetadataDataset(self):
"""Test for metadata dataset configuration.
"""
config = pipeBase.PipelineTaskConfig()
self.assertEqual(config.metadataDataset, "label")
config.metadataDataset = "taskName"
self.assertEqual(config.metadataDataset, "taskName")
config.metadataDataset = None
self.assertIsNone(config.metadataDataset)
with self.assertRaises(pexConfig.FieldValidationError):
config.metadataDataset = ""
self.assertTrue(config.saveMetadata)
config.saveMetadata = False
self.assertFalse(config.saveMetadata)


class MyMemoryTestCase(lsst.utils.tests.MemoryTestCase):
Expand Down
3 changes: 3 additions & 0 deletions tests/test_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ def testTaskDef(self):
self.assertIsInstance(task2.config, MultConfig)
self.assertIs(task2.taskClass, MultTask)
self.assertEqual(task2.label, "mult_task")
self.assertEqual(task2.metadataDatasetName, "mult_task_metadata")
task2.config.saveMetadata = False
self.assertIsNone(task2.metadataDatasetName)

def testEmpty(self):
"""Creating empty pipeline
Expand Down

0 comments on commit 73022bf

Please sign in to comment.