LSST Applications  21.0.0+75b29a8a7f,21.0.0+e70536a077,21.0.0-1-ga51b5d4+62c747d40b,21.0.0-10-gbfb87ad6+3307648ee3,21.0.0-15-gedb9d5423+47cba9fc36,21.0.0-2-g103fe59+fdf0863a2a,21.0.0-2-g1367e85+d38a93257c,21.0.0-2-g45278ab+e70536a077,21.0.0-2-g5242d73+d38a93257c,21.0.0-2-g7f82c8f+e682ffb718,21.0.0-2-g8dde007+d179fbfa6a,21.0.0-2-g8f08a60+9402881886,21.0.0-2-ga326454+e682ffb718,21.0.0-2-ga63a54e+08647d4b1b,21.0.0-2-gde069b7+26c92b3210,21.0.0-2-gecfae73+0445ed2f95,21.0.0-2-gfc62afb+d38a93257c,21.0.0-27-gbbd0d29+ae871e0f33,21.0.0-28-g5fc5e037+feb0e9397b,21.0.0-3-g21c7a62+f4b9c0ff5c,21.0.0-3-g357aad2+57b0bddf0b,21.0.0-3-g4be5c26+d38a93257c,21.0.0-3-g65f322c+3f454acf5d,21.0.0-3-g7d9da8d+75b29a8a7f,21.0.0-3-gaa929c8+9e4ef6332c,21.0.0-3-ge02ed75+4b120a55c4,21.0.0-4-g3300ddd+e70536a077,21.0.0-4-g591bb35+4b120a55c4,21.0.0-4-gc004bbf+4911b9cd27,21.0.0-4-gccdca77+f94adcd104,21.0.0-4-ge8fba5a+2b3a696ff9,21.0.0-5-gb155db7+2c5429117a,21.0.0-5-gdf36809+637e4641ee,21.0.0-6-g00874e7+c9fd7f7160,21.0.0-6-g4e60332+4b120a55c4,21.0.0-7-gc8ca178+40eb9cf840,21.0.0-8-gfbe0b4b+9e4ef6332c,21.0.0-9-g2fd488a+d83b7cd606,w.2021.05
LSST Data Management Base Package
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput Class Reference
Inheritance diagram for lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput:
lsst.obs.base.gen2to3.repoWalker.builders.BuilderInput lsst.obs.base.gen2to3.repoWalker.builders.BuilderNode

Public Member Functions

def __init__ (self, *str datasetTypeName, str template, Dict[str, type] keys, StorageClass storageClass, DimensionUniverse universe, FormatterParameter formatter, TranslatorFactory translatorFactory, Optional[PathElementHandler] targetHandler=None, **Any kwargs)
 
PathElementHandler build (self, PathElementParser parser, Dict[str, type] allKeys, Dict[str, type] cumulativeKeys, *Optional[re.Pattern] fileIgnoreRegEx, Optional[re.Pattern] dirIgnoreRegEx)
 
Tuple[BuilderNode, List[str], bool] prune (self)
 

Public Attributes

 datasetType
 
 template
 
 keys
 
 elements
 

Detailed Description

An input to a `RepoWalker` that matches files that correspond to
datasets that we want to extract.

BuilderTargetInputs can never be pruned, and always build
`TargetFileHandler` instances.

Parameters
----------
datasetTypeName : `str`
    Name of the dataset type.
template : `str`
    Full Gen2 filename template.
keys : `dict` [`str`, `type`]
    Dictionary that maps Gen2 data ID key to the type of its value.
storageClass : `StorageClass`
    `StorageClass` for the Gen3 dataset type.
universe : `DimensionUniverse`
    All candidate dimensions for the Gen3 dataset type.
formatter : `lsst.daf.butler.Formatter` or `str`, optional
    A Gen 3 formatter class or fully-qualified name.
translatorFactory : `TranslatorFactory`
    Object that can be used to construct data ID translators.
targetHandler : `PathElementHandler`, optional
    Override target handler for this dataset type.
**kwargs:
    Additional keyword arguments are passed to `Translator.makeMatching`,
    in along with ``datasetTypeName`` and ``keys``.

Definition at line 176 of file builders.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput.__init__ (   self,
*str  datasetTypeName,
str  template,
Dict[str, type keys,
StorageClass  storageClass,
DimensionUniverse  universe,
FormatterParameter  formatter,
TranslatorFactory  translatorFactory,
Optional[PathElementHandler]   targetHandler = None,
**Any  kwargs 
)

Definition at line 205 of file builders.py.

209  **kwargs: Any):
210  # strip off [%HDU] identifiers from e.g. DECAM Community Pipeline
211  # products
212  template = template.split('[%(')[0]
213  super().__init__(template=template, keys=keys)
214  self._translator = translatorFactory.makeMatching(datasetTypeName, keys, **kwargs)
215  self.datasetType = DatasetType(datasetTypeName, dimensions=self._translator.dimensionNames,
216  storageClass=storageClass, universe=universe,
217  isCalibration=("calibDate" in keys))
218  self._formatter = formatter
219  if targetHandler is None:
220  targetHandler = TargetFileHandler
221  self._handler = targetHandler
222 

Member Function Documentation

◆ build()

PathElementHandler lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput.build (   self,
PathElementParser  parser,
Dict[str, type allKeys,
Dict[str, type cumulativeKeys,
*Optional[re.Pattern]  fileIgnoreRegEx,
Optional[re.Pattern]   dirIgnoreRegEx 
)
Transform this node in the build tree into a corresponding
`PathElementHandler`, recursing to any children.

Must be called after `prune`.

Parameters
----------
parser : `PathElementParser`
    An object that matches the path element the new handler is
    responsible for and extracts a (partial) Gen2 data ID from it.
allKeys : `dict` [`str`, `type`]
    A mapping from Gen2 data ID key to the type of its value.  Will
    contain all keys that may be extracted by the given parser, and
    possibly others.
cumulativeKeys : `dict` [`str`, `type`], optional
    A dictionary containing key strings and types for Gen2 data ID keys
    that have been extracted from previous path elements for this
    template, including those extracted by ``parser``.

Returns
-------
handler : `PathElementHandler`
    A new handler object.

Reimplemented from lsst.obs.base.gen2to3.repoWalker.builders.BuilderNode.

Definition at line 223 of file builders.py.

225  ) -> PathElementHandler:
226  # Docstring inherited from BuilderNode.
227  return self._handler(parser=parser, translator=self._translator, datasetType=self.datasetType,
228  formatter=self._formatter)
229 

◆ prune()

Tuple[BuilderNode, List[str], bool] lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput.prune (   self)
Attempt to prune this node and its children from the tree.

Returns
-------
replacement : `BuilderNode`
    The result of recursively pruning child nodes; often just ``self``.
messages : `list` [`str`]
    Warning messages that should be logged by a parent node when a
    matching path element is encountered, if this node is pruned.
prune : `bool`
    If `True`, this node may be pruned from the tree (but will not
    necessarily be - it may correspond to a path element that should
    be skipped with siblings that should not be).

Reimplemented from lsst.obs.base.gen2to3.repoWalker.builders.BuilderNode.

Definition at line 230 of file builders.py.

230  def prune(self) -> Tuple[BuilderNode, List[str], bool]:
231  # Docstring inherited from BuilderNode.
232  return self, [], False
233 

Member Data Documentation

◆ datasetType

lsst.obs.base.gen2to3.repoWalker.builders.BuilderTargetInput.datasetType

Definition at line 215 of file builders.py.

◆ elements

lsst.obs.base.gen2to3.repoWalker.builders.BuilderInput.elements
inherited

Definition at line 120 of file builders.py.

◆ keys

lsst.obs.base.gen2to3.repoWalker.builders.BuilderInput.keys
inherited

Definition at line 119 of file builders.py.

◆ template

lsst.obs.base.gen2to3.repoWalker.builders.BuilderInput.template
inherited

Definition at line 118 of file builders.py.


The documentation for this class was generated from the following file: