lsst.obs.base  19.0.0-56-g64d9981
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler Class Reference
Inheritance diagram for lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler:
lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler lsst.obs.base.gen2to3.repoWalker.handlers.MultiExtensionFileHandler

Public Member Functions

def __init__ (self, PathElementParser parser, Translator translator, DatasetType datasetType, FormatterParameter formatter=None)
 
def __str__ (self)
 
bool isForFiles (self)
 
def handle (self, str path, nextDataId2, Mapping[DatasetType, List[FileDataset]] datasets, *Log log, Callable[[DataCoordinate], bool] predicate)
 
Optional[DataCoordinate] translate (self, dict dataId2, *bool partial=False, Log log)
 
bool __call__ (self, str path, str name, Mapping[DatasetType, List[FileDataset]] datasets, *Log log, Callable[[DataCoordinate], bool] predicate)
 
int rank (self)
 
def handle (self, str path, dict nextDataId2, Mapping[DatasetType, List[FileDataset]] datasets, *Log log, Callable[[DataCoordinate], bool] predicate)
 
def __lt__ (self, PathElementHandler other)
 

Public Attributes

 lastDataId2
 

Detailed Description

A `PathElementHandler` that matches files that correspond to target
datasets and outputs `FileDataset` instances for them.

Parameters
----------
parser : `PathElementParser`
    An object that matches the path element this handler is responsible for
    and extracts a (partial) Gen2 data ID from it.
translator : `Translator`
    Object that translates data IDs from Gen2 to Gen3.
datasetType : `lsst.daf.butler.DatasetType`
    Gen3 dataset type for the datasets this handler matches.
formatter : `lsst.daf.butler.Formatter` or `str`, optional
    A Gen 3 formatter class or fully-qualified name.

Definition at line 260 of file handlers.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler.__init__ (   self,
PathElementParser  parser,
Translator  translator,
DatasetType  datasetType,
FormatterParameter   formatter = None 
)

Definition at line 276 of file handlers.py.

Member Function Documentation

◆ __call__()

bool lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler.__call__ (   self,
str  path,
str  name,
Mapping[DatasetType, List[FileDataset]]  datasets,
*Log  log,
Callable[[DataCoordinate], bool]  predicate 
)
inherited
Apply the handler to a file path.

Parameters
----------
path : `str`
    Full path of the file or directory.
name : `str`
    Local name of the file or directory within its parent directory.
datasets : `dict` [`DatasetType`, `list` [`FileDataset`] ]
    Dictionary that found datasets should be added to.
log : `Log`, optional
    Log to use to report warnings and debug information.
predicate : `~collections.abc.Callable`
    A callable taking a single `DataCoordinate` argument and returning
    `bool`, indicating whether that (Gen3) data ID represents one
    that should be included in the scan.'

Returns
-------
matched : `bool`
    `True` if this handler was a match for the given path and no other
    handlers need to be tried on it, `False` otherwise.

Reimplemented from lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.

Definition at line 119 of file handlers.py.

◆ __lt__()

def lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.__lt__ (   self,
PathElementHandler  other 
)
inherited
Handlers are sorted by rank to reduce the possibility that more
flexible handlers will have a chance to match something they shouldn't.

Definition at line 136 of file scanner.py.

◆ __str__()

def lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler.__str__ (   self)

◆ handle() [1/2]

def lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler.handle (   self,
str  path,
dict  nextDataId2,
Mapping[DatasetType, List[FileDataset]]  datasets,
*Log  log,
Callable[[DataCoordinate], bool]  predicate 
)
inherited
Customization hook for ``__call__``.

Subclasses must override this method, while external callers (i.e.
`DirectoryScanner` should instead invoke `__call__`.

Parameters
----------
path : `str`
    Full path of the file or directory.
nextDataId2 : `dict`
    Gen2 data ID (usually partial) extracted from the path so far.
datasets : `dict` [`DatasetType`, `list` [`FileDataset`] ]
    Dictionary that found datasets should be added to.
log : `Log`, optional
    Log to use to report warnings and debug information.
predicate : `~collections.abc.Callable`
    A callable taking a single `DataCoordinate` argument and returning
    `bool`, indicating whether that (Gen3) data ID represents one
    that should be included in the scan.
formatterMap : `dict`, optional
    Map dataset type to specialist formatter.

Reimplemented in lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler.

Definition at line 134 of file handlers.py.

◆ handle() [2/2]

def lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler.handle (   self,
str  path,
  nextDataId2,
Mapping[DatasetType, List[FileDataset]]  datasets,
*Log  log,
Callable[[DataCoordinate], bool]  predicate 
)

◆ isForFiles()

bool lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler.isForFiles (   self)
Report what kind of path element this object handlers.

Returns
-------
Return `True` if this handler is for file entries, or `False` if it
is for directories.

Reimplemented from lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.

Definition at line 288 of file handlers.py.

◆ rank()

int lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler.rank (   self)
inherited
Return a rough indication of how flexible this handler is in terms
of the path element names it can match.

Handlers that match a constant path element should always return zero.

Reimplemented from lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.

Definition at line 129 of file handlers.py.

◆ translate()

Optional[DataCoordinate] lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler.translate (   self,
dict  dataId2,
*bool   partial = False,
Log  log 
)
Translate the given data ID from Gen2 to Gen3.

The default implementation returns `None`.  Subclasses that are able
to translate data IDs should override this method.

Parameters
----------
dataId2 : `dict`
    Gen2 data ID.
partial : `bool`, optional
    If `True` (`False` is default) this is a partial data ID for some
    dataset, and missing keys are expected.
log : log : `Log`, optional
    Log to use to report warnings and debug information.

Returns
-------
dataId3 : `lsst.daf.butler.DataCoordinate` or `None`
    A Gen3 data ID, or `None` if this handler cannot translate data
    IDs.

Reimplemented from lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.

Reimplemented in lsst.obs.base.gen2to3.repoWalker.handlers.MultiExtensionFileHandler.

Definition at line 300 of file handlers.py.

Member Data Documentation

◆ lastDataId2

lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler.lastDataId2
inherited

Definition at line 59 of file scanner.py.


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