hexrdgui icon indicating copy to clipboard operation
hexrdgui copied to clipboard

Most Current Prerelease No Longer Reading CHESS Dexela HDF 5 Files

Open darrencpagan opened this issue 6 months ago • 4 comments

We recently updated to the most recent pre-release and the gui no longer reads in CHESS hdf5 files through the simple image series menu

Traceback (most recent call last):
  File "/nfs/chess/user/dcp99/sw/miniconda/envs/20240126_hexrdgui/lib/python3.11/site-packages/hexrdgui/simple_image_series_dialog.py", line 238, in select_images
    self.load_image_data(selected_files)
  File "/nfs/chess/user/dcp99/sw/miniconda/envs/20240126_hexrdgui/lib/python3.11/site-packages/hexrdgui/simple_image_series_dialog.py", line 288, in load_image_data
    if ImageFileManager().path_prompt(selected_files[0]) is None:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nfs/chess/user/dcp99/sw/miniconda/envs/20240126_hexrdgui/lib/python3.11/site-packages/hexrdgui/image_file_manager.py", line 178, in path_prompt
    group, data, remember = path_dialog.results()
                            ^^^^^^^^^^^^^^^^^^^^^
  File "/nfs/chess/user/dcp99/sw/miniconda/envs/20240126_hexrdgui/lib/python3.11/site-packages/hexrdgui/load_hdf5_dialog.py", line 62, in results
    path_list = self.ui.hdf5_paths.currentItem().text()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'

darrencpagan avatar Feb 06 '24 14:02 darrencpagan

@bnmajor will be looking into this soon.

psavery avatar Feb 06 '24 18:02 psavery

@darrencpagan I have not been able to reproduce this so far but looking at the error though it looks like no path was selected for the hdf5 file. This is odd because that should not be possible. If you are able to share the image data that you are seeing this with though that may help me see what's going wrong.

bnmajor avatar Feb 26 '24 20:02 bnmajor

@bnmajor I wonder if an empty list in QSettings here is getting converted to None when we load it in (we are guarding against something similar here and here). We might have to guard against this as well.

It would be nice if Qt did not convert empty lists in the settings into None. I wonder if there's a way for us to fix that...

psavery avatar Feb 27 '24 11:02 psavery

To follow up on my last comment, it looks like it is specifically an issue with Qt and ini files (which are default only on Linux). It stores both empty lists and None as @Invalid, so both are interpreted as None when reading from the file. We would have to add some special logic to fix this for all possible empty lists.

psavery avatar Feb 27 '24 18:02 psavery