Fix Version/s: None
DM-20763 with John Parejko leads me to think that datastore should guarantee that Formatter instances are not reused. This would allow formatter implementations to cache information with the knowledge that they don't have to worry about the cache being wrong if the file descriptor changes. To make this more obvious I'm going to investigate changing Formatter so that FileDescriptor is a mandatory constructor argument becoming a read-only property. This will make it impossible for the formatter to be used for any other file and will mean that the argument is removed from the read and write methods.
- relates to
DM-20763 Add initial support for Gen3 Butler to obs_decam
|Field||Original Value||New Value|
I know that I have more to do. My concern was that this is such a major change to the formatter API that I wanted you and Jim Bosch to sign off before I proceeded to make all the other packages work.
Given that Jim Bosch has signed off on the PR in daf_butler I'll now work on getting obs_subaru etc fixed up.
I've cleaned this up and I think it does look better. At Jim Bosch's request I have allowed FormatterFactory to retrieve the class as well as an instance and that has made things more explicit. I think we should probably change Instrument.getRawFormatter() to return a class rather than an instance now but I think that can be done as part of
|Reviewers||Jim Bosch, John Parejko [ jbosch, parejkoj ]|
|Status||To Do [ 10001 ]||In Review [ 10004 ]|
Everything looks good to me. Just a few extremely minor comments on the daf_butler PR. Leaving "In Review" only because there are two of us.
A couple comments on the PRs, but this looks good. Thanks for doing it.
|Status||In Review [ 10004 ]||In Review [ 10004 ]|
|Status||In Review [ 10004 ]||Reviewed [ 10101 ]|
|Resolution||Done [ 10000 ]|
|Status||Reviewed [ 10101 ]||Done [ 10002 ]|
You'll have to also update HyperSuprimeCamRawFormatter.readImage() and obs.base.FitsRawFormatterBase on this PR. I think you can just cherry-pick my commits from