Skip to content

Commit beadc9d

Browse files
Merge pull request #38514 from mantidproject/38030_remove_pop_up
Remove off-putting error prompt that appears when canceling a MaxEnt calculation in the Muon FDA interface
2 parents 8eab7f1 + 8981bec commit beadc9d

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Remove off-putting error prompt that appears when canceling a MaxEnt calculation in the :ref:`Muon FDA interface <Frequency_Domain_Analysis-ref>`

qt/python/mantidqtinterfaces/mantidqtinterfaces/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_presenter.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,11 @@ def calculate_maxent(self, alg):
188188
# this is caught as part of the calculation thread
189189
raise ValueError("Please select groups in the grouping tab")
190190
else:
191-
maxent_workspace = run_MuonMaxent(maxent_parameters, alg, base_name)
191+
try:
192+
maxent_workspace = run_MuonMaxent(maxent_parameters, alg, base_name)
193+
except KeyboardInterrupt:
194+
return
195+
192196
self.add_maxent_workspace_to_ADS(maxent_parameters["InputWorkspace"], maxent_workspace, alg)
193197

194198
def _create_group_table(self):

qt/python/mantidqtinterfaces/test/Muon/max_ent_presenter_load_interaction_test.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,20 @@ def test_calculate_maxent_fails(self, mock_maxent):
209209
self.assertEqual(self.presenter.add_maxent_workspace_to_ADS.call_count, 0)
210210
self.assertEqual(mock_maxent.call_count, 0)
211211

212+
@mock.patch("mantidqtinterfaces.Muon.GUI.FrequencyDomainAnalysis.MaxEnt.maxent_presenter.run_MuonMaxent")
213+
def test_calculate_maxent_ignores_keyboardinterrupt(self, mock_maxent):
214+
mock_maxent.side_effect = KeyboardInterrupt()
215+
params = {"InputWorkspace": "test"}
216+
self.presenter.get_parameters_for_maxent_calculation = mock.Mock(return_value=params)
217+
type(self.presenter).use_groups = mock.PropertyMock(return_value=True)
218+
type(self.presenter).get_num_groups = mock.PropertyMock(return_value=2)
219+
self.presenter.add_maxent_workspace_to_ADS = mock.Mock()
220+
alg = mock.Mock()
221+
222+
self.presenter.calculate_maxent(alg)
223+
self.assertEqual(self.presenter.add_maxent_workspace_to_ADS.call_count, 0)
224+
self.assertEqual(mock_maxent.call_count, 1)
225+
212226
def test_create_group_table(self):
213227
group1 = MuonGroup("fwd", [1, 2, 3])
214228
type(self.presenter).get_selected_groups = mock.PropertyMock(return_value=[group1])

0 commit comments

Comments
 (0)