Skip to content

Commit b47f170

Browse files
Add some comments and fix small things
1 parent 39d252e commit b47f170

2 files changed

Lines changed: 51 additions & 39 deletions

File tree

jdaviz/configs/default/plugins/data_menu/data_menu.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,7 @@ def add_data(self, *data_labels):
694694
available = self.dataset.choices
695695

696696
for label in data_labels:
697+
# Check if incoming labels are children of parent data
697698
parent_label = self.app._get_assoc_data_parent(label)
698699
available += self.app._get_assoc_data_children(parent_label)
699700

jdaviz/core/loaders/tests/test_loaders.py

Lines changed: 50 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -808,84 +808,95 @@ def _setup(self, deconfigged_helper):
808808
self.ldr.object = _make_multi_sci_hdul()
809809

810810
def test_load_image_parent_default_auto(self):
811+
ldr = self.ldr
812+
dcf_helper = self.dcf_helper
813+
811814
# the default parent selection should be 'Auto'
812-
assert self.ldr.importer.parent.selected == 'Auto'
813-
assert 'Auto' in self.ldr.importer.parent.choices
814-
assert 'None' in self.ldr.importer.parent.choices
815+
assert ldr.importer.parent.selected == 'Auto'
816+
assert 'Auto' in ldr.importer.parent.choices
817+
assert 'None' in ldr.importer.parent.choices
815818

816-
self.ldr.importer.extension = ['SCI,1', 'ERR,1', 'SCI,2', 'ERR,2']
817-
self.ldr.load()
819+
ldr.importer.extension = ['SCI,1', 'ERR,1', 'SCI,2', 'ERR,2']
820+
ldr.load()
818821

819-
assert len(self.dcf_helper._app.data_collection) == 4
820-
assert len(self.dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 4
821-
assert self.dcf_helper._app._get_assoc_data_parent('Image[ERR,1]') == 'Image[SCI,1]'
822-
assert self.dcf_helper._app._get_assoc_data_children('Image[SCI,1]') == ['Image[ERR,1]']
822+
assert len(dcf_helper._app.data_collection) == 4
823+
assert len(dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 4
824+
assert dcf_helper._app._get_assoc_data_parent('Image[ERR,1]') == 'Image[SCI,1]'
825+
assert dcf_helper._app._get_assoc_data_children('Image[SCI,1]') == ['Image[ERR,1]']
823826

824-
assert self.dcf_helper._app._get_assoc_data_parent('Image[ERR,2]') == 'Image[SCI,2]'
825-
assert self.dcf_helper._app._get_assoc_data_children('Image[SCI,2]') == ['Image[ERR,2]']
827+
assert dcf_helper._app._get_assoc_data_parent('Image[ERR,2]') == 'Image[SCI,2]'
828+
assert dcf_helper._app._get_assoc_data_children('Image[SCI,2]') == ['Image[ERR,2]']
826829

827830
def test_load_image_parent_none(self):
828-
# 'None' should prevent any parenting, even with multiple extensions
829-
self.ldr.importer.extension = ['SCI,1', 'ERR,1', 'SCI,2', 'ERR,2']
830-
self.ldr.importer.parent = 'None'
831-
self.ldr.load()
831+
"""'None' should prevent any parenting, even with multiple extensions"""
832+
ldr = self.ldr
833+
dcf_helper = self.dcf_helper
834+
ldr.importer.extension = ['SCI,1', 'ERR,1', 'SCI,2', 'ERR,2']
835+
ldr.importer.parent = 'None'
836+
ldr.load()
832837

833-
assert len(self.dcf_helper._app.data_collection) == 4
834-
assert len(self.dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 4
838+
assert len(dcf_helper._app.data_collection) == 4
839+
assert len(dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 4
835840
for label in ('Image[SCI,1]', 'Image[ERR,1]', 'Image[SCI,2]', 'Image[ERR,2]'):
836-
assert self.dcf_helper._app._get_assoc_data_parent(label) is None
837-
assert self.dcf_helper._app._get_assoc_data_children(label) == []
841+
assert dcf_helper._app._get_assoc_data_parent(label) is None
842+
assert dcf_helper._app._get_assoc_data_children(label) == []
838843

839844
@pytest.mark.parametrize('rename', (False, True))
840845
def test_load_image_auto_parent_existing_in_dc(self, rename):
841846
"""
842847
'Auto' should associate a child extension loaded later with a matching
843848
science extension that is already in the data collection (matched by hash)
844849
"""
850+
ldr = self.ldr
851+
dcf_helper = self.dcf_helper
852+
845853
# first load only the science extension
846-
self.ldr.importer.extension = 'SCI,2'
847-
self.ldr.load()
854+
ldr.importer.extension = 'SCI,2'
855+
ldr.load()
848856

849857
primary_label = 'Image[SCI,2]'
850858

851-
assert [d.label for d in self.dcf_helper._app.data_collection] == [primary_label]
852-
assert self.dcf_helper._app._get_assoc_data_children(primary_label) == []
859+
assert [d.label for d in dcf_helper._app.data_collection] == [primary_label]
860+
assert dcf_helper._app._get_assoc_data_children(primary_label) == []
853861

854862
# Now test with a rename in-between
855863
if rename:
856-
self.dcf_helper.viewers['Image'].data_menu.rename(primary_label, 'new name')
864+
dcf_helper.viewers['Image'].data_menu.rename(primary_label, 'new name')
857865
primary_label = 'new name'
858866

859867
# then load only the matching error extension; it should auto-associate
860868
# with the already-loaded science extension
861-
self.ldr.importer.extension = 'ERR,2'
862-
self.ldr.load()
869+
ldr.importer.extension = 'ERR,2'
870+
ldr.load()
863871

864-
assert len(self.dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 2
865-
assert self.dcf_helper._app._get_assoc_data_parent('Image[ERR,2]') == primary_label
866-
assert self.dcf_helper._app._get_assoc_data_children(primary_label) == ['Image[ERR,2]']
872+
assert len(dcf_helper.viewers['Image'].data_menu.data_labels_loaded) == 2
873+
assert dcf_helper._app._get_assoc_data_parent('Image[ERR,2]') == primary_label
874+
assert dcf_helper._app._get_assoc_data_children(primary_label) == ['Image[ERR,2]']
867875

868876
# This should raise 'Data labels {unavailable} not able to be loaded...'
869877
# if parent child association doesn't work correctly (i.e. the previous behavior)
870-
self.dcf_helper.viewers['Image'].data_menu.add_data('Image[ERR,2]')
878+
dcf_helper.viewers['Image'].data_menu.add_data('Image[ERR,2]')
871879

872880
# TODO: Remove skip once this behavior is fixed
873881
@pytest.skip
874-
def test_load_unload_parenting_behavior(self, deconfigged_helper):
882+
def test_load_unload_parenting_behavior(self):
883+
ldr = self.ldr
884+
dcf_helper = self.dcf_helper
885+
875886
# Default parent selection is 'auto'
876-
self.ldr.importer.extension = ['SCI,1', 'ERR,1']
877-
self.ldr.load()
887+
ldr.importer.extension = ['SCI,1', 'ERR,1']
888+
ldr.load()
878889

879-
dm = self.dcf_helper.viewers['Image'].data_menu
890+
dm = dcf_helper.viewers['Image'].data_menu
880891
dm.layer = ['Image[ERR,1]']
881892
dm.remove_from_app()
882893

883-
self.ldr.importer.extension = 'ERR,1'
884-
self.ldr.importer.parent = 'None'
885-
self.ldr.load()
894+
ldr.importer.extension = 'ERR,1'
895+
ldr.importer.parent = 'None'
896+
ldr.load()
886897

887-
assert self.dcf_helper._app._get_assoc_data_parent('Image[ERR,1]') is None
888-
assert self.dcf_helper._app._get_assoc_data_children('Image[SCI,1]') == []
898+
assert dcf_helper._app._get_assoc_data_parent('Image[ERR,1]') is None
899+
assert dcf_helper._app._get_assoc_data_children('Image[SCI,1]') == []
889900

890901

891902
def test_load_image_align_by(deconfigged_helper, image_nddata_wcs):

0 commit comments

Comments
 (0)