-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
h5py Datatypes #8
Comments
Yeah, well, I got this wrong: The relevant loop inside pyfive
Which unfortunately means that when faced with an actual Datatype enum, it reports it as a group. That is definitely a bug. |
At this point the logic is that everything that is not a dataset is a group, but we know that's not true, this is a portion of the h5dump of the offending content:
So we need to do something a wee bit different right at this point, so we can warn the user that we are ignoring the not implemented type rather than pretend it is a group, and then if they try and access |
Ok, so now - 9994598 - at least pyfive can read a file with this in it, but raises a warning when it finds the datatype message, and raises a notimplementederror when one tries to read that particular data variable. That seems to be the right sort of behaviour until such time as we implement enum support (#9, which we may not). |
Test support for "sensible things" is here: c12b5b3 |
H5py has a class
Datatype
. This is part of uber ticket #7!Unfortunately, when creating NetCDF groups, h5netcdf does it's own iteration over an HDF5 group, and looks for instances of DataTypes:
In this
self._root.h5py
is in fact, pyfive after my backend substitution. That means we need to have pyfive support for Datatype andcheck_enum_dtype
or I need another strategy.In pyfive, I think the
Datatype
corresponds toDatatypeMessage
. IF it's that simple, there are a couple of routes to solving this, we modify pyfive to look more like h5py, or we create a new Datatype class which subclasses DatatypeMessage. I suspect I will go that route ...The H5py datatype is defined here: https://github.com/h5py/h5py/blob/master/h5py/_hl/datatype.py
The text was updated successfully, but these errors were encountered: