Formatter

class lsst.daf.butler.Formatter(fileDescriptor=None)

Bases: object

Interface for reading and writing Datasets with a particular StorageClass.

Parameters:
fileDescriptor : FileDescriptor, optional

Identifies the file to read or write, and the associated storage classes and parameter information. Its value can be None if the caller will never call Formatter.read or Formatter.write.

Attributes Summary

fileDescriptor FileDescriptor associated with this formatter (Formatter, read-only)
unsupportedParameters Set of parameters not understood by this Formatter.

Methods Summary

name() Returns the fully qualified name of the formatter.
predictPath() Return the path that would be returned by write, without actually writing.
predictPathFromLocation(location) Return the path that would be returned by write, without actually writing.
read([component]) Read a Dataset.
segregateParameters([parameters]) Segregate the supplied parameters into those understood by the formatter and those not understood by the formatter.
write(inMemoryDataset) Write a Dataset.

Attributes Documentation

fileDescriptor

FileDescriptor associated with this formatter (Formatter, read-only)

unsupportedParameters = frozenset()

Set of parameters not understood by this Formatter. An empty set means all parameters are supported. None indicates that no parameters are supported (frozenset).

Methods Documentation

classmethod name()

Returns the fully qualified name of the formatter.

Returns:
name : str

Fully-qualified name of formatter class.

predictPath()

Return the path that would be returned by write, without actually writing.

Uses the FileDescriptor associated with the instance.

Returns:
path : str

Path within datastore that would be associated with the location stored in this Formatter.

classmethod predictPathFromLocation(location)

Return the path that would be returned by write, without actually writing.

Parameters:
location : Location

Location of file for which path prediction is required.

Returns:
path : str

Path within datastore that would be associated with this location.

read(component=None)

Read a Dataset.

Parameters:
component : str, optional

Component to read from the file. Only used if the StorageClass for reading differed from the StorageClass used to write the file.

Returns:
inMemoryDataset : object

The requested Dataset.

segregateParameters(parameters=None)

Segregate the supplied parameters into those understood by the formatter and those not understood by the formatter.

Any unsupported parameters are assumed to be usable by associated assemblers.

Parameters:
parameters : dict, optional

Parameters with values that have been supplied by the caller and which might be relevant for the formatter. If None parameters will be read from the registered FileDescriptor.

Returns:
supported : dict

Those parameters supported by this formatter.

unsupported : dict

Those parameters not supported by this formatter.

write(inMemoryDataset)

Write a Dataset.

Parameters:
inMemoryDataset : object

The Dataset to store.

Returns:
path : str

The path to where the Dataset was stored within the datastore.