def start_write_to_tango(self, loading_list, value_list): self.tango_applier = TangoApplier() self.num = 0 loading_list, value_list, error_list = self.check_tango_loading_list( loading_list, value_list) if error_list: error_message = "Error:\n• " + '\n• '.join(error_list) QtWidgets.QMessageBox.critical(self.parent, "Mapping failed", error_message) return self.count = len(loading_list) self.progBar = ProgressDialog(loading_list) self.progBar.accepted.connect(self.canel_write_to_tango) self.progBar.show() self.progBar.setValue(0) self.tango_applier.begin_writing_signal.connect( self.begin_tango_dev_writing) self.tango_applier.end_writing_signal.connect( self.end_tango_dev_writing) self.tango_applier.stop_save_snapshot_signal.connect( self.stop_tango_snapshot_saving) self.tango_applier.error_signal.connect(self.tango_error) self.tango_loading_completed_signal.connect( self.tango_writing_completed) #self.tango_applier.writing_completed_signal.connect(self.tango_writing_completed) self.error_list = {} self.reverse_loading_list = {} for name, dev in loading_list.items(): self.reverse_loading_list[dev] = name self.tango_applier.save_snapshot(loading_list, value_list)
def __init__(self): QObject.__init__(self) self._mywindow = loadWindowFromFile(r'mainwindow.ui') self._mywindow.le_expires.setText("90") self._width_of_vm_frame = 400 self._connectWidgetSignals() self._progress_dlg = ProgressDialog()
def start_write_to_tango(self, loading_list): self.tango_applier = TangoApplier() self.num = 0 self.count = len(loading_list) self.progBar = ProgressDialog(loading_list) self.progBar.accepted.connect(self.canel_write_to_tango) self.progBar.show() self.progBar.setValue(0) self.tango_applier.begin_writing_signal.connect( self.begin_tango_dev_writing) self.tango_applier.end_writing_signal.connect( self.end_tango_dev_writing) self.tango_applier.stop_save_snapshot_signal.connect( self.stop_tango_snapshot_saving) self.tango_applier.error_signal.connect(self.tango_error) self.tango_applier.writing_completed_signal.connect( self.tango_writing_completed) self.error_list = {} self.reverse_loading_list = {} for name, dev in loading_list.items(): self.reverse_loading_list[dev] = name self.tango_applier.save_snapshot(loading_list)
def run_topics_analyser(self) -> None: if (len(self.ui.output_file_name_txt.text().strip()) == 0): self._show_message(['Please enter the output file name.'], icon=QMessageBox.Warning) return get_wordlist = lambda text: [word.strip() for word in text.split(',') ] if (len(text) > 0) else [] self.addl_stopwords = get_wordlist(self.ui.addl_stopwords_txt.text()) self.groupby_cols = self._get_groupby_cols() self.data = self.data_reader.get_dataframe( self.ui.text_col_name_txt.text(), self.groupby_cols) self.output_filename = self.ui.output_file_name_txt.text() self.num_ngrams = self.ui.num_ngrams_spb.value() self.num_topics = self.ui.num_topics_spb.value() # use the input file name as the Optuna study name self.studyname = re.sub(r'[.]\w+', '', ntpath.basename(self.ui.data_file_txt.text())) # log the analysis self.logger.info( f'Start Topics Analysis:\n{self._get_analysis_inputs_summary()}') # create a worker thread for the TopicsAnalyser worker = Worker(self.execute_analysis) # connect the signals to the slots (callback functions) worker.signals.progress.connect(self.on_analysis_progress) worker.signals.result.connect(self.on_analysis_success) worker.signals.error.connect(self.on_thread_error) # Execute the worker thread self.threadpool.start(worker) # show a progress dialog while the TopicsAnalyser is running self.analysis_progress = ProgressDialog( 'Analysis is running, please wait...', self).progress self.analysis_progress.setValue(1) self.analysis_progress.show()
def newTab(self, currentIndex): # File Dialog (uses csv directory) directory = os.path.dirname(os.path.realpath(__file__)) + "\csv" if not os.path.exists(directory): os.makedirs(directory) QApplication.beep() # Path to Selected CSV File path = QFileDialog.getOpenFileName( self, "Open CSV File", directory, "Comma-Separated Values File (*.csv)")[0] if not path: return filename = QUrl.fromLocalFile(path).fileName() # Dialog for user to select features and label progressDialog = ProgressDialog(None, None, 0, 100, self) progressDialog.setWindowTitle("Reading " + filename + "...") progressDialog.setValue(0) progressDialog.show() QApplication.processEvents() selectionFeaturesDialog = SelectionFeaturesDialog(path) progressDialog.setWindowTitle("Done") progressDialog.setValue(100) progressDialog.close() QApplication.processEvents() QApplication.beep() dialogCode = selectionFeaturesDialog.exec_() #If Dialog was cancelled, then avoid opening a new tab if dialogCode == 0: return features = selectionFeaturesDialog.getFeatures() label = selectionFeaturesDialog.getLabel() tabGroupBox = AlgorithmGroupBox(path, features, label) pathToNewCSVIcon = os.path.dirname( os.path.realpath(__file__)) + "\\assets" + "\\csv_icon.png" self.addTab(tabGroupBox, QIcon(pathToNewCSVIcon), filename) self.setCurrentWidget(tabGroupBox)
def getfile(self) -> None: options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog filename, _ = QFileDialog.getOpenFileName(self, "Open File", "", "Excel files (*.xlsx)", options=options) if (filename): self.ui.data_file_txt.setText(filename) # create a worker thread for data loading worker = Worker(self.execute_dataloading, filename) # connect the signals to the slots (callback functions) worker.signals.finished.connect(self.on_dataloading_success) worker.signals.error.connect(self.on_thread_error) # Execute the worker thread self.threadpool.start(worker) self.dataloading_progress = ProgressDialog( 'Loading data, please wait...', self).progress self.dataloading_progress.setValue(1) self.dataloading_progress.show()