BadWriteFormatter¶
- class lsst.daf.butler.tests.BadWriteFormatter(fileDescriptor: FileDescriptor, dataId: DataCoordinate, writeParameters: Dict[str, Any] | None = None, writeRecipes: Dict[str, Any] | None = None)¶
Bases:
YamlFormatterA formatter that never works but does leave a file behind.
Attributes Summary
Return Data ID associated with this formatter (
DataCoordinate).Default file extension to use for writing files.
File descriptor associated with this formatter (
FileDescriptor).Set of all extensions supported by this formatter.
Allow the normal yaml.dump to be used to write the YAML.
This formatter does not support any parameters
Parameters to use when writing out datasets.
Detailed write Recipes indexed by recipe name.
Methods Summary
Indicate if this formatter can format from bytes.
fromBytes(serializedDataset[, component])Reads serialized data into a Dataset or its component.
makeUpdatedLocation(location)Return a new
Locationupdated with this formatter's extension.name()Return the fully qualified name of the formatter.
Return the path that would be returned by write.
read([component])Read data from a file.
segregateParameters([parameters])Segregate the supplied parameters.
toBytes(inMemoryDataset)Serialize the Dataset to bytes based on formatter.
validateExtension(location)Check the extension of the provided location for compatibility.
validateWriteRecipes(recipes)Validate supplied recipes for this formatter.
write(inMemoryDataset)Write a Python object to a file.
Attributes Documentation
- dataId¶
Return Data ID associated with this formatter (
DataCoordinate).
- extension: str | None = '.yaml'¶
Default file extension to use for writing files. None means that no modifications will be made to the supplied file extension. (
str)
- fileDescriptor¶
File descriptor associated with this formatter (
FileDescriptor).Read-only property.
- supportedExtensions: ClassVar[AbstractSet[str]] = frozenset({})¶
Set of all extensions supported by this formatter.
Only expected to be populated by Formatters that write files. Any extension assigned to the
extensionproperty will be automatically included in the list of supported extensions.
- supportedWriteParameters: ClassVar[AbstractSet[str] | None] = frozenset({'unsafe_dump'})¶
Allow the normal yaml.dump to be used to write the YAML. Use this if you know that your class has registered representers.
- unsupportedParameters: ClassVar[AbstractSet[str] | None] = None¶
This formatter does not support any parameters
- writeParameters¶
Parameters to use when writing out datasets.
- writeRecipes¶
Detailed write Recipes indexed by recipe name.
Methods Documentation
- fromBytes(serializedDataset: bytes, component: str | None = None) Any¶
Reads serialized data into a Dataset or its component.
- Parameters:
- Returns:
- inMemoryDataset
object The requested data as a Python object. The type of object is controlled by the specific formatter.
- inMemoryDataset
- Raises:
- NotImplementedError
Formatter does not support reading from bytes.
- makeUpdatedLocation(location: Location) Location¶
Return a new
Locationupdated with this formatter’s extension.- Parameters:
- location
Location The location to update.
- location
- Returns:
- updated
Location A new
Locationwith a new file extension applied.
- updated
- Raises:
- NotImplementedError
Raised if there is no
extensionattribute associated with this formatter.
Notes
This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an
extensionattribute containing the file extension used when writing files. IfextensionisNonethe supplied file will not be updated. Not all formatters write files so this is not defined in the base class.
- classmethod name() str¶
Return the fully qualified name of the formatter.
- Returns:
- name
str Fully-qualified name of formatter class.
- name
- predictPath() str¶
Return the path that would be returned by write.
Does not write any data file.
Uses the
FileDescriptorassociated with the instance.- Returns:
- path
str Path within datastore that would be associated with the location stored in this
Formatter.
- path
- read(component: str | None = None) Any¶
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
StorageClassfor reading differed from theStorageClassused to write the file.
- fileDescriptor
- Returns:
- inMemoryDataset
object The requested data as a Python object. The type of object is controlled by the specific formatter.
- inMemoryDataset
- 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: Dict[str, Any] | None = None) Tuple[Dict, Dict]¶
Segregate the supplied parameters.
This splits the 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:
- Returns:
- classmethod validateExtension(location: Location) None¶
Check the extension of the provided location for compatibility.
- Parameters:
- location
Location Location from which to extract a file extension.
- location
- Raises:
- NotImplementedError
Raised if file extensions are a concept not understood by this formatter.
- ValueError
Raised if the formatter does not understand this extension.
Notes
This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an
extensionattribute containing the file extension used when writing files. IfextensionisNoneonly the set of supported extensions will be examined.