ome / omero-py

Python project containing Ice remoting code for OMERO
https://www.openmicroscopy.org/omero
GNU General Public License v2.0
20 stars 33 forks source link

Fix HdfStorage.read() implementation to work with all column types #288

Closed sbesson closed 3 years ago

sbesson commented 3 years ago

Reported by @jburel, the tables.read() method internally uses col.values (via _getrows). For any column type with overrides the default methods of AbstractColumn like MaskColumnI, this will fail.

fe8b863 tried to address the problem by using the getsize() API which should be independent of the column implementation details. However, testMaskColumn is still failing as the logic does not populate the .bytes attributes.

6c27eae is a more robust fix to the underlying issue which uses the fact that the column API effectively has a read method and effectively delegates to this API like readCoordinates.

All the other commits expand the unit tests to cover both readCoordinates and read scenarios for the different column types (long, string, mask) as well as a test for various arguments of table.read

Proposing for a patch release of omero-py

snoopycrimecop commented 3 years ago

Conflicting PR. Removed from build OMERO-python-superbuild-push#707. See the console output for more details. Possible conflicts:

--conflicts Conflict resolved in build OMERO-python-superbuild-push#708. See the console output for more details.