lsst.obs.base  19.0.0-64-gf672fef+5
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler Class Reference
Inheritance diagram for lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler:
lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler lsst.obs.base.gen2to3.repoWalker.scanner.PathElementHandler

Public Member Functions

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

Public Attributes

 lastDataId2
 

Detailed Description

A `ParsedPathElementHandler` that does nothing with an entry other
optionally logging a warning message.

A `SkipHandler` is used for Gen2 datasets that we can recognize but do not
want to (or cannot) extract Gen3 datasets from, or other files/directories
that alway appears at a fixed level in the diectory tree.

Parameters
----------
parser : `PathElementParser`
    An object that matches the path element this handler is responsible for
    and extracts a (partial) Gen2 data ID from it.
isForFiles : `bool`
    Whether this handler should be applied to files (`True`) or
    directories (`False`).
message : `str`, optional
    A message to log at warning level when this handler matches a path
    entry.  If `None`, matched entrie will be silently skipped.

Definition at line 161 of file handlers.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler.__init__ (   self,
PathElementParser  parser,
bool  isForFiles,
Optional[str]  message 
)

Definition at line 181 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.ParsedPathElementHandler.__str__ (   self)
inherited

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

Definition at line 116 of file handlers.py.

◆ handle()

def lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler.handle (   self,
str  path,
dict  nextDataId2,
Mapping[DatasetType, List[FileDataset]]  datasets,
*Log  log,
Callable[[DataCoordinate], bool]  predicate 
)
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 from lsst.obs.base.gen2to3.repoWalker.handlers.ParsedPathElementHandler.

Definition at line 192 of file handlers.py.

◆ isForFiles()

bool lsst.obs.base.gen2to3.repoWalker.handlers.SkipHandler.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 188 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.scanner.PathElementHandler.translate (   self,
dict  dataId2,
*bool   partial = False,
Log  log 
)
inherited
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 in lsst.obs.base.gen2to3.repoWalker.handlers.MultiExtensionFileHandler, lsst.obs.base.gen2to3.repoWalker.handlers.TargetFileHandler, and lsst.obs.base.gen2to3.repoWalker.handlers.SubdirectoryHandler.

Definition at line 112 of file scanner.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: