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)
Example #2
0
 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()
Example #3
0
    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()
Example #5
0
    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()