def test_get_hierarchy_grp_w_dset(hdf_dataset): # pylint:disable=redefined-outer-name """ OrderedDict describing HDF5 file hierarchy. Testing empty sets are NOT returned. Keys are groups, values are datasets. """ filename, fid = hdf_dataset # Passing fid hierarchy = get_hierarchy(fid, fulldsetpath=True, grp_w_dset=True) assert hierarchy == {'/':['base'], 'Group1':['Group1/ingroup1_1', 'Group1/ingroup1_2'], 'Group2':['Group2/ingroup2'], 'Group2/Group3':['Group2/Group3/ingroup3'], 'Group4/Group5/Group6':['Group4/Group5/Group6/ingroup6'] } # Passing filename hierarchy = get_hierarchy(filename, fulldsetpath=True, grp_w_dset=True) assert hierarchy == {'/':['base'], 'Group1':['Group1/ingroup1_1', 'Group1/ingroup1_2'], 'Group2':['Group2/ingroup2'], 'Group2/Group3':['Group2/Group3/ingroup3'], 'Group4/Group5/Group6':['Group4/Group5/Group6/ingroup6'] }
def test_get_hierarchy_nopath(hdf_dataset): # pylint:disable=redefined-outer-name """ OrderedDict describing HDF5 file hierarchy. Testing with no full paths in the dataset names. Keys are groups, values are datasets. """ filename, fid = hdf_dataset # Passing fid hierarchy = get_hierarchy(fid, fulldsetpath=False, grp_w_dset=False) assert hierarchy == {'/':['base'], 'Group1':['ingroup1_1', 'ingroup1_2'], 'Group2':['ingroup2'], 'Group2/Group3':['ingroup3'], 'Group4':[], 'Group4/Group5':[], 'Group4/Group5/Group6':['ingroup6'] } # Passing filename hierarchy = get_hierarchy(filename, fulldsetpath=False, grp_w_dset=False) assert hierarchy == {'/':['base'], 'Group1':['ingroup1_1', 'ingroup1_2'], 'Group2':['ingroup2'], 'Group2/Group3':['ingroup3'], 'Group4':[], 'Group4/Group5':[], 'Group4/Group5/Group6':['ingroup6']}
def populateGroups(self): # Qt-related pylint: disable=C0103 """ Populate dropdown box of group ui.comboBoxGroupSelect """ self.group_dset_dict = get_hierarchy(_os.path.join(self.path, self.filename), grp_w_dset=HdfLoad.config['only_show_grp_w_dset']) # Load Group dropdown box self.ui.comboBoxGroupSelect.clear() for count in self.group_dset_dict: self.ui.comboBoxGroupSelect.addItem(count) return [self.path, self.filename]