JsonFormatter

class lsst.daf.butler.formatters.jsonFormatter.JsonFormatter(fileDescriptor: lsst.daf.butler.core.fileDescriptor.FileDescriptor)

Bases: lsst.daf.butler.formatters.fileFormatter.FileFormatter

Interface for reading and writing Python objects to and from JSON files.

Attributes Summary

extension

fileDescriptor

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

unsupportedParameters

This formatter does not support any parameters (frozenset)

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])

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 = '.json'
fileDescriptor

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

unsupportedParameters = None

This formatter does not support any parameters (frozenset)

Methods Documentation

fromBytes(serializedDataset, component=None)

Reads serialized data into a Dataset or its component.

Parameters
serializedDatasetbytes

Bytes object to unserialize.

fileDescriptorFileDescriptor

Identifies read type and parameters to be used for reading.

componentstr, optional

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

Returns
inMemoryDatasetobject

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
namestr

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
pathstr

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
locationLocation

Location of file for which path prediction is required.

Returns
pathstr

Path within datastore that would be associated with this location.

read(component=None)

Read data from a file.

Parameters
fileDescriptorFileDescriptor

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

componentstr, optional

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

Returns
inMemoryDatasetobject

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, Dict]

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
parametersdict, 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
supporteddict

Those parameters supported by this formatter.

unsupporteddict

Those parameters not supported by this formatter.

toBytes(inMemoryDataset)

Serialize the Dataset to bytes based on formatter.

Parameters
inMemoryDatasetobject

Object to serialize.

fileDescriptorFileDescriptor

Identifies read type and parameters to be used for reading.

Returns
serializedDatasetbytes

Bytes representing the serialized dataset.

Raises
NotImplementedError

Formatter does not support reading from bytes.

write(inMemoryDataset)

Write a Python object to a file.

Parameters
inMemoryDatasetobject

The Python object to store.

Returns
pathstr

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