def open_file(self): """Open data file""" try: for i in self.mainwidget.imagewidget.plot.items: if dwwidg.is_flag(i): msgBox = QMessageBox() msgBox.setText( "There are not saved flags! Are you sure to discard them?" ) msgBox.addButton(QMessageBox.Cancel) msgBox.addButton(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Cancel) ret = msgBox.exec_() if ret == QMessageBox.Cancel: return -1 elif ret == QMessageBox.Ok: break except: pass self.toolbar.clear() try: self.flag_toolbar.close() except: pass try: self._open_file() except: msgBox = QMessageBox() msgBox.setText("File structure not recognized!") msgBox.exec_() return -1
def _open_file(self): saved_in, saved_out, saved_err = sys.stdin, sys.stdout, sys.stderr sys.stdout = None filename, _filter = getopenfilename(self, _("Open"), "") sys.stdin, sys.stdout, sys.stderr = saved_in, saved_out, saved_err if filename: extension = splitext(str(filename))[1] if extension not in ['.fits', '.hdf5', '.hdf', '.h5']: msgBox = QMessageBox() msgBox.setText("Wrong file type!") msgBox.exec_() return -1 if extension == '.fits': file_type = "fits" elif extension == (".hdf5" or ".h5" or ".hdf"): msgBox = QMessageBox() msgBox.setText( "Are data spectrometric or spectropolarimetric?") msgBox.addButton(QPushButton('Spect'), QMessageBox.NoRole) msgBox.addButton(QPushButton('Polar'), QMessageBox.YesRole) ret = msgBox.exec_() if ret == False: widg_type = 0 file_type = 'hdf' elif ret == True: widg_type = 1 file_type = 'hdf_pola' self.data = dwdata.DWData() self.data.open_data(filename, file_type) if file_type == 'fits': if self.data.data_type_dict[0][0] == 'simple': widg_type = 0 elif self.data.data_type_dict[0][0] == 'stokes': widg_type = 1 if widg_type == 0: self.setup_central_widget(dwwidg.MainWidget, self.toolbar) elif widg_type == 1: self.setup_central_widget(dwwidg.PolaViewerWidget, self.toolbar) self.set_flag_toolbar() self.mainwidget.open_setup(self.data) self.setWindowTitle(APP_NAME + " - " + filename)
def close_dw(self): """Close DW""" try: for i in self.mainwidget.imagewidget.plot.items: if dwwidg.is_flag(i): msgBox = QMessageBox() msgBox.setText( "There are not saved flags! Are you sure to discard them?" ) msgBox.addButton(QMessageBox.Cancel) msgBox.addButton(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Cancel) ret = msgBox.exec_() if ret == QMessageBox.Cancel: return -1 elif ret == QMessageBox.Ok: break self.close() except: self.close()
def close_file(self): """Close data file""" for i in self.mainwidget.imagewidget.plot.items: if dwwidg.is_flag(i): msgBox = QMessageBox() msgBox.setText( "There are not saved flags! Are you sure to discard them?") msgBox.addButton(QMessageBox.Cancel) msgBox.addButton(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Cancel) ret = msgBox.exec_() if ret == QMessageBox.Cancel: return -1 elif ret == QMessageBox.Ok: break self.mainwidget.close() self.toolbar.clear() self.flag_toolbar.close() self.data.close() del self.data del self.mainwidget self.setWindowTitle(APP_NAME)
def apply_fit(self): msgBox = QMessageBox() msgBox.setText("Apply corrections?") msgBox.setInformativeText( "Select to which files will be applied the correction.") CancelButton = msgBox.addButton("Cancel", msgBox.RejectRole) SelectButton = msgBox.addButton("Select", msgBox.NoRole) AllButton = msgBox.addButton("All", msgBox.YesRole) #msgBox.setDefaultButton(QMessageBox.Cancel) msgBox.exec_() if msgBox.clickedButton() == CancelButton: return -1 elif msgBox.clickedButton() == AllButton: filelist = None elif msgBox.clickedButton() == SelectButton: flret = getopenfilenames(self, _("Select file list"), self.data_ref.dir_name)[0] filelist = [] for f in flret: filelist.append((basename(str(f)), dirname(str(f)))) msgBox = QMessageBox() msgBox.setText("Select the correction file") msgBox.addButton(QMessageBox.Ok) msgBox.exec_() filename = getopenfilename( self, _("Correction file"), self.data_ref.dir_name + "/" + basename( normpath(self.data_ref.dir_name) + "_fit." + self.data_ref.files_type)) try: self.data_ref.applycorr(str(filename[0]), filelist) except: msgBox = QMessageBox() msgBox.setText("Not a correction file!") msgBox.exec_() return -1
def fitfile(self): if self.fitc == None: msgBox = QMessageBox() msgBox.setText("Fit not yet executed!") msgBox.exec_() return -1 msgBox = QMessageBox() msgBox.setText("Save correction file?") #msgBox.setInformativeText("A correction file will be saved in the root directory of the observation.") msgBox.addButton(QMessageBox.Cancel) msgBox.addButton(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Cancel) ret = msgBox.exec_() if ret != QMessageBox.Ok: return -1 name = getsavefilename(self, _("Save File"), self.data_ref.dir_name + "/" + basename( normpath(self.data_ref.dir_name) + "_fit." + self.data_ref.files_type), options=QFileDialog.DontConfirmOverwrite) if str(name[0]): if exists(str(name[0])): msgBox = QMessageBox() msgBox.setText("File exists!") msgBox.setInformativeText("Do you want to update it?") msgBox.addButton(QMessageBox.Cancel) msgBox.addButton(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Cancel) ret = msgBox.exec_() if ret != QMessageBox.Ok: return -1 self.data_ref.fitfile(str(name[0]), self.fitc)