diff --git a/scripts/Interface/ui/reflectometer/refl_save.py b/scripts/Interface/ui/reflectometer/refl_save.py index 6dabce7fe2a500d16899e687dde973628f1c98de..fb6a8ab5c83d5cad3e8afdc2e5370152637884e5 100644 --- a/scripts/Interface/ui/reflectometer/refl_save.py +++ b/scripts/Interface/ui/reflectometer/refl_save.py @@ -1,8 +1,8 @@ -#pylint: disable=invalid-name +#pylint: disable-all from PyQt4 import QtCore, QtGui import os from mantid.simpleapi import * -from mantid.api import WorkspaceGroup +from mantid.api import WorkspaceGroup, AnalysisDataService import xml.etree.ElementTree as xml from isis_reflectometry.quick import * from isis_reflectometry.procedures import * @@ -239,9 +239,15 @@ class Ui_SaveWindow(object): self.pushButton.setText(QtGui.QApplication.translate("SaveWindow", "SAVE", None, QtGui.QApplication.UnicodeUTF8)) self.pushButton_2.setText(QtGui.QApplication.translate("SaveWindow", "Refresh", None, QtGui.QApplication.UnicodeUTF8)) + def _get_saveable_workspace_names(self): + names = mtd.getObjectNames() + # Exclude WorkspaceGroups from our list. We cannot save them to ASCII. + names = [i for i in names if not isinstance(AnalysisDataService.retrieve(i), WorkspaceGroup)] + return names + def filterWksp(self): self.listWidget.clear() - names = mtd.getObjectNames() + names = self._get_saveable_workspace_names() if self.regExCheckBox.isChecked(): regex=re.compile(self.filterEdit.text()) filtered = list() @@ -268,7 +274,7 @@ class Ui_SaveWindow(object): def populateList(self): self.listWidget.clear() - names = mtd.getObjectNames() + names = self._get_saveable_workspace_names() if len(names): RB_Number=groupGet(names[0],'samp','rb_proposal') for ws in names: