FileFormatter

class lsst.daf.butler.formatters.fileFormatter.FileFormatter(fileDescriptor: lsst.daf.butler.core.fileDescriptor.FileDescriptor)

Bases: lsst.daf.butler.Formatter

Interface for reading and writing files on a POSIX file system.

Attributes Summary

extension Default file extension to use for writing files.
fileDescriptor FileDescriptor associated with this formatter (FileDescriptor, read-only)
unsupportedParameters

Methods Summary

fromBytes(serializedDataset[, component]) Reads serialized data into a Dataset or its component.
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 data from a file.
segregateParameters(parameters, Any]] = None) Segregate the supplied parameters into those understood by the formatter and those not understood by the formatter.
toBytes(inMemoryDataset) Serialize the Dataset to bytes based on formatter.
write(inMemoryDataset) Write a Python object to a file.

Attributes Documentation

extension = None

Default file extension to use for writing files. None means that no modifications will be made to the supplied file extension. (str)

fileDescriptor

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

unsupportedParameters = frozenset()

Methods Documentation

fromBytes(serializedDataset, component=None)

Reads serialized data into a Dataset or its component.

Parameters:
serializedDataset : bytes

Bytes object to unserialize.

fileDescriptor : FileDescriptor

Identifies read type and parameters to be used for reading.

component : str, optional

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

Returns:
inMemoryDataset : object

The requested data as a Python object. The type of object is controlled by the specific formatter.

Raises:
NotImplementedError

Formatter does not support reading from bytes.

classmethod name() → str

Returns the fully qualified name of the formatter.

Returns:
name : str

Fully-qualified name of formatter class.

predictPath() → str

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 data from a file.

Parameters:
fileDescriptor : FileDescriptor

Identifies the file to read, type to read it into and parameters to be used for reading.

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 data as a Python object. The type of object is controlled by the specific formatter.

Raises:
ValueError

Component requested but this file does not seem to be a concrete composite.

NotImplementedError

Formatter does not implement a method to read from files.

segregateParameters(parameters: Optional[Dict[str, Any]] = None) → Tuple[Dict[KT, VT], Dict[KT, VT]]

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.

toBytes(inMemoryDataset)

Serialize the Dataset to bytes based on formatter.

Parameters:
inMemoryDataset : object

Object to serialize.

fileDescriptor : FileDescriptor

Identifies read type and parameters to be used for reading.

Returns:
serializedDataset : bytes

Bytes representing the serialized dataset.

Raises:
NotImplementedError

Formatter does not support reading from bytes.

write(inMemoryDataset)

Write a Python object to a file.

Parameters:
inMemoryDataset : object

The Python object to store.

Returns:
path : str

The path where the primary file is stored within the datastore.