def FillList(self, event): self.dicom_sorter.pathname = event.path try: fields = self.dicom_sorter.available_fields() except DicomFolderError: message = ''.join([';'.join(event.path), ' contains no DICOMs']) errors.throw_error(message, 'No DICOMs Present', parent=self) return self.selector.SetOptions(fields) # Now set seriesDescription as the default if len(self.selector.selected.Items) == 0: self.selector.selected.Append('SeriesDescription') # This is clunky # TODO: Change PrefDlg to a dict self.prefDlg.pages['Anonymization'].SetDicomFields(fields) self.Notify(events.PopulateEvent, fields=fields)
def SetPaths(self, paths): if not isinstance(paths, list): paths = [ paths, ] # Determine if there are any invalid paths badPaths = [path for path in paths if not os.path.isdir(path)] if len(badPaths): p = ', '.join(badPaths) errorMsg = 'The Following directories are invalid paths: %s' % p errors.throw_error(errorMsg, 'Invalid Paths', parent=self.Parent) return self.path = paths self.edit.SetValue(';'.join(paths)) # Trigger an EVT_PATH event self.Notify()
def test_defaults(self, mocker): mock = mocker.patch.object(wx.MessageDialog, 'ShowModal') message = 'msg' throw_error(message, parent=self.frame) mock.assert_called_once_with()