Skip to content

Commit 747dfbb

Browse files
Remove MainWindowView.strict_dataset_list
1 parent 1b4941d commit 747dfbb

File tree

6 files changed

+16
-30
lines changed

6 files changed

+16
-30
lines changed

mantidimaging/gui/windows/main/nexus_save_dialog.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
from __future__ import annotations
44
import os
55
import uuid
6+
from collections.abc import Iterable
67

78
from PyQt5.QtWidgets import QDialogButtonBox, QFileDialog, QRadioButton
89

10+
from mantidimaging.core.data.dataset import Dataset
911
from mantidimaging.gui.mvp_base import BaseDialogView
10-
from mantidimaging.gui.windows.main.presenter import DatasetId
1112

1213
NXS_EXT = ".nxs"
1314

@@ -18,7 +19,7 @@ class NexusSaveDialog(BaseDialogView):
1819
floatRadioButton: QRadioButton
1920
intRadioButton: QRadioButton
2021

21-
def __init__(self, parent, dataset_list: list[DatasetId]):
22+
def __init__(self, parent, dataset_list: Iterable[Dataset]):
2223
super().__init__(parent, 'gui/ui/nexus_save_dialog.ui')
2324

2425
self.browseButton.clicked.connect(self._set_save_path)
@@ -32,9 +33,10 @@ def __init__(self, parent, dataset_list: list[DatasetId]):
3233

3334
self.selected_dataset = None
3435

35-
def _create_dataset_lists(self, dataset_list):
36+
def _create_dataset_lists(self, dataset_list: Iterable[Dataset]):
3637
if dataset_list:
37-
self.dataset_uuids, dataset_names = zip(*dataset_list, strict=True)
38+
self.dataset_uuids = [ds.id for ds in dataset_list]
39+
dataset_names = [ds.name for ds in dataset_list]
3840
self.datasetNames.addItems(dataset_names)
3941

4042
def accept(self) -> None:

mantidimaging/gui/windows/main/presenter.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@ class StackId(NamedTuple):
4040
name: str
4141

4242

43-
class DatasetId(NamedTuple):
44-
id: uuid.UUID
45-
name: str
46-
47-
4843
logger = getLogger(__name__)
4944

5045

@@ -419,14 +414,6 @@ def stack_visualiser_list(self) -> list[StackId]:
419414
def datasets(self) -> Iterable[Dataset]:
420415
return self.model.datasets.values()
421416

422-
@property
423-
def strict_dataset_list(self) -> list[DatasetId]:
424-
datasets = [
425-
DatasetId(dataset.id, dataset.name) for dataset in self.model.datasets.values()
426-
if isinstance(dataset, StrictDataset)
427-
]
428-
return sorted(datasets, key=lambda x: x.name)
429-
430417
@property
431418
def all_dataset_ids(self) -> Iterable[uuid.UUID]:
432419
return self.model.datasets.keys()

mantidimaging/gui/windows/main/test/nexus_save_test.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from unittest import mock
66

77
from mantidimaging.gui.windows.main.nexus_save_dialog import NexusSaveDialog
8-
from mantidimaging.gui.windows.main.presenter import DatasetId
98
from mantidimaging.test_helpers import start_qapplication
109

1110

@@ -62,11 +61,13 @@ def test_save_enabled(self):
6261
def test_dataset_lists_creation(self):
6362
dataset_id = "dataset-id"
6463
dataset_name = "dataset-name"
64+
ds = mock.Mock(id=dataset_id)
65+
ds.name = dataset_name
6566
self.nexus_save_dialog.datasetNames = mock.Mock()
66-
self.nexus_save_dialog._create_dataset_lists([DatasetId(dataset_id, dataset_name)])
67+
self.nexus_save_dialog._create_dataset_lists([ds])
6768

68-
self.assertEqual(self.nexus_save_dialog.dataset_uuids, (dataset_id, ))
69-
self.nexus_save_dialog.datasetNames.addItems.assert_called_once_with((dataset_name, ))
69+
self.assertEqual(self.nexus_save_dialog.dataset_uuids, [dataset_id])
70+
self.nexus_save_dialog.datasetNames.addItems.assert_called_once_with([dataset_name])
7071

7172
@mock.patch("mantidimaging.gui.windows.main.nexus_save_dialog.QFileDialog.getSaveFileName")
7273
def test_set_save_path_adds_extension(self, get_save_file_name_mock):

mantidimaging/gui/windows/main/test/presenter_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,8 +497,8 @@ def test_dataset_list(self):
497497

498498
self.model.datasets = {"id1": dataset_1, "id2": dataset_2, "id3": mixed_dataset}
499499

500-
dataset_list = self.presenter.strict_dataset_list
501-
assert len(dataset_list) == 2
500+
dataset_list = list(self.presenter.datasets)
501+
assert len(dataset_list) == 3
502502

503503
def test_add_child_item_to_tree_view(self):
504504
dataset_item_mock = self.view.get_dataset_tree_view_item.return_value

mantidimaging/gui/windows/main/test/view_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ def test_show_image_save_dialog(self, image_save_dialog_mock):
449449
@mock.patch("mantidimaging.gui.windows.main.view.NexusSaveDialog")
450450
def test_show_nexus_save_dialog(self, nexus_save_dialog_mock):
451451
self.view.show_nexus_save_dialog()
452-
nexus_save_dialog_mock.assert_called_once_with(self.view, self.view.strict_dataset_list)
452+
nexus_save_dialog_mock.assert_called_once_with(self.view, self.view.presenter.datasets)
453453
nexus_save_dialog_mock.return_value.show.assert_called_once()
454454

455455
def test_execute_add_to_dataset_calls_notify(self):

mantidimaging/gui/windows/main/view.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from mantidimaging.gui.windows.add_images_to_dataset_dialog.view import AddImagesToDatasetDialog
3030
from mantidimaging.gui.windows.image_load_dialog import ImageLoadDialog
3131
from mantidimaging.gui.windows.main.nexus_save_dialog import NexusSaveDialog
32-
from mantidimaging.gui.windows.main.presenter import MainWindowPresenter, Notification, DatasetId, StackId
32+
from mantidimaging.gui.windows.main.presenter import MainWindowPresenter, Notification, StackId
3333
from mantidimaging.gui.windows.main.presenter import Notification as PresNotification
3434
from mantidimaging.gui.windows.main.image_save_dialog import ImageSaveDialog
3535
from mantidimaging.gui.windows.move_stack_dialog.view import MoveStackDialog
@@ -424,7 +424,7 @@ def show_image_save_dialog(self) -> None:
424424
self.image_save_dialog.show()
425425

426426
def show_nexus_save_dialog(self) -> None:
427-
self.nexus_save_dialog = NexusSaveDialog(self, self.strict_dataset_list)
427+
self.nexus_save_dialog = NexusSaveDialog(self, self.presenter.datasets)
428428
self.nexus_save_dialog.show()
429429

430430
def show_settings_window(self) -> None:
@@ -484,10 +484,6 @@ def show_live_viewer(self, live_data_path: Path) -> None:
484484
def stack_list(self) -> list[StackId]:
485485
return self.presenter.stack_visualiser_list
486486

487-
@property
488-
def strict_dataset_list(self) -> list[DatasetId]:
489-
return self.presenter.strict_dataset_list
490-
491487
@property
492488
def stack_names(self) -> list[str]:
493489
return self.presenter.stack_visualiser_names

0 commit comments

Comments
 (0)