def apply_settings(self):
        # Default Settings
        self.settings_custom['default_settings'][
            'encoding'] = wl_conversion.to_encoding_code(
                self.main, self.combo_box_files_encoding.currentText())
        self.settings_custom['default_settings'][
            'lang'] = wl_conversion.to_lang_code(
                self.main, self.combo_box_files_lang.currentText())

        if self.combo_box_files_tokenized.currentText() == self.tr('Yes'):
            self.settings_custom['default_settings']['tokenized'] = True
        else:
            self.settings_custom['default_settings']['tokenized'] = False
        if self.combo_box_files_tagged.currentText() == self.tr('Yes'):
            self.settings_custom['default_settings']['tagged'] = True
        else:
            self.settings_custom['default_settings']['tagged'] = True

        # Auto-detection Settings
        self.settings_custom['auto_detection_settings'][
            'number_lines'] = self.spin_box_files_number_lines.value()
        self.settings_custom['auto_detection_settings'][
            'number_lines_no_limit'] = self.checkbox_files_number_lines_no_limit.isChecked(
            )

        # Miscellaneous
        self.settings_custom['misc'][
            'read_files_in_chunks'] = self.spin_box_read_files_in_chunks.value(
            )

        return True
    def preview_lang_changed(self):
        self.settings_custom['preview_lang'] = wl_conversion.to_lang_code(
            self.main, self.combo_box_tagsets_lang.currentText())

        preview_lang = self.settings_custom['preview_lang']

        self.combo_box_tagsets_pos_tagger.blockSignals(True)

        self.combo_box_tagsets_pos_tagger.clear()

        self.combo_box_tagsets_pos_tagger.addItems(
            wl_nlp_utils.to_lang_util_texts(
                self.main,
                util_type='pos_taggers',
                util_codes=self.settings_global[preview_lang]))
        self.combo_box_tagsets_pos_tagger.setCurrentText(
            wl_nlp_utils.to_lang_util_text(
                self.main,
                util_type='pos_taggers',
                util_code=self.settings_custom['preview_pos_tagger']
                [preview_lang]))

        self.combo_box_tagsets_pos_tagger.blockSignals(False)

        self.combo_box_tagsets_pos_tagger.currentTextChanged.emit('')
Beispiel #3
0
    def preview_results_changed(self):
        row = list(self.settings_global.keys()).index(
            self.settings_custom['preview_lang'])
        lang = wl_conversion.to_lang_code(
            self.main,
            self.combo_box_stop_word_list_preview_lang.currentText())
        list_stop_words = wl_nlp_utils.to_lang_util_code(
            self.main,
            util_type='stop_word_lists',
            util_text=self.table_stop_word_lists.model().item(row, 1).text())

        stop_words = wl_stop_word_lists.wl_get_stop_word_list(
            self.main, lang, stop_word_list=list_stop_words)

        self.list_stop_word_list_preview_results.load_items(stop_words)
        self.label_stop_word_list_preview_count.setText(
            self.tr('Count of Stop Words: ') + str(len(stop_words)))

        if list_stop_words == 'custom':
            self.list_stop_word_list_preview_results.switch_to_custom()

            self.list_stop_word_list_preview_results.model(
            ).dataChanged.connect(
                lambda: self.label_stop_word_list_preview_count.setText(
                    self.tr('Count of Stop Words: ') +
                    str(self.list_stop_word_list_preview_results.model().
                        rowCount())))
        else:
            self.list_stop_word_list_preview_results.switch_to_default()
 def preview_changed(self):
     self.settings_custom['preview_lang'] = wl_conversion.to_lang_code(
         self.main, self.combo_box_pos_tagging_preview_lang.currentText())
     self.settings_custom[
         'preview_samples'] = self.text_edit_pos_tagging_preview_samples.toPlainText(
         )
     self.settings_custom[
         'preview_results'] = self.text_edit_pos_tagging_preview_results.toPlainText(
         )
Beispiel #5
0
    def stop_word_list_changed(self, topLeft=None, bottomRight=None):
        if topLeft:
            lang = wl_conversion.to_lang_code(
                self.main,
                self.table_stop_word_lists.model().item(topLeft.row(),
                                                        0).text())

            if lang == self.settings_custom['preview_lang']:
                self.preview_results_changed()
    def preview_changed(self):
        settings_custom = self.main.settings_custom['lemmatization']

        settings_custom['preview_lang'] = wl_conversion.to_lang_code(
            self.main, self.combo_box_lemmatization_preview_lang.currentText())
        settings_custom[
            'preview_samples'] = self.text_edit_lemmatization_preview_samples.toPlainText(
            )
        settings_custom[
            'preview_results'] = self.text_edit_lemmatization_preview_results.toPlainText(
            )
    def preview_results_changed(self):
        lang = wl_conversion.to_lang_code(self.main, self.combo_box_stop_word_list_preview_lang.currentText())
        list_stop_words = self.__dict__[f'combo_box_stop_word_list_{lang}'].currentText()
        
        stop_words = wl_stop_word_lists.wl_get_stop_word_list(self.main, lang, stop_word_list = list_stop_words)

        self.stop_word_list_preview_results.load_stop_words(stop_words)
        self.label_stop_word_list_preview_count.setText(self.tr(f'Count of Stop Words: {len(stop_words)}'))

        if list_stop_words == self.tr('Custom List'):
            self.stop_word_list_preview_results.switch_to_custom()

            self.stop_word_list_preview_results.itemChanged.connect(lambda: self.label_stop_word_list_preview_count.setText(self.tr(f'Count of Stop Words: {self.stop_word_list_preview_results.count()}')))
        else:
            self.stop_word_list_preview_results.switch_to_default()
Beispiel #8
0
    def apply_settings(self):
        settings = self.main.settings_custom

        settings['auto_detection']['detection_settings'][
            'number_lines'] = self.spin_box_auto_detection_number_lines.value(
            )
        settings['auto_detection']['detection_settings'][
            'number_lines_no_limit'] = self.checkbox_auto_detection_number_lines_no_limit.isChecked(
            )

        settings['auto_detection']['default_settings'][
            'default_lang'] = wl_conversion.to_lang_code(
                self.main,
                self.combo_box_auto_detection_default_lang.currentText())
        settings['auto_detection']['default_settings'][
            'default_encoding'] = wl_conversion.to_encoding_code(
                self.main,
                self.combo_box_auto_detection_default_encoding.currentText())

        return True
Beispiel #9
0
    def file_item_changed(self):
        if any([self.item(0, i) for i in range(self.columnCount())]):
            # Check for duplicate file names
            for row in range(self.rowCount()):
                file_name = self.item(row, 0).text()
                file_path = self.item(row, 4).text()

                file = self.main.wl_files.find_file_by_path(file_path)

                if file_name != file['name_old']:
                    if self.main.wl_files.find_file_by_name(file_name):
                        self.blockSignals(True)

                        self.item(row, 0).setText(file['name_old'])

                        self.blockSignals(False)

                        wl_msg_box.wl_msg_box_duplicate_file_name(self.main)

                        self.closePersistentEditor(self.item(row, 0))
                        self.editItem(self.item(row, 0))

                    break

            self.main.settings_custom['files']['files_open'].clear()

            for row in range(self.rowCount()):
                new_file = {}

                lang_text = self.cellWidget(row, 1).currentText()
                encoding_text = self.cellWidget(row, 5).currentText()

                new_file['selected'] = True if self.item(
                    row, 0).checkState() == Qt.Checked else False
                new_file['name'] = new_file['name_old'] = self.item(row,
                                                                    0).text()
                new_file['lang'] = wl_conversion.to_lang_code(
                    self.main, lang_text)
                new_file['tokenized'] = self.cellWidget(row, 2).currentText()
                new_file['tagged'] = self.cellWidget(row, 3).currentText()
                new_file['path'] = self.item(row, 4).text()
                new_file['encoding'] = wl_conversion.to_encoding_code(
                    self.main, encoding_text)

                self.main.settings_custom['files']['files_open'].append(
                    new_file)

            self.button_close_all.setEnabled(True)
        else:
            self.button_close_all.setEnabled(False)

        if self.main.settings_custom['files']['files_closed']:
            self.button_reopen.setEnabled(True)
        else:
            self.button_reopen.setEnabled(False)

        # Menu
        if any([self.item(0, i) for i in range(self.columnCount())]):
            self.main.find_menu_item(self.tr('Select All')).setEnabled(True)
            self.main.find_menu_item(
                self.tr('Invert Selection')).setEnabled(True)
            self.main.find_menu_item(self.tr('Deselect All')).setEnabled(True)

            self.main.find_menu_item(self.tr('Close All')).setEnabled(True)
        else:
            self.main.find_menu_item(self.tr('Select All')).setEnabled(False)
            self.main.find_menu_item(
                self.tr('Invert Selection')).setEnabled(False)
            self.main.find_menu_item(self.tr('Deselect All')).setEnabled(False)

            self.main.find_menu_item(self.tr('Close All')).setEnabled(False)

        if self.main.settings_custom['files']['files_closed']:
            self.main.find_menu_item(
                self.tr('Reopen Closed Files')).setEnabled(True)
        else:
            self.main.find_menu_item(
                self.tr('Reopen Closed Files')).setEnabled(False)

        if self.rowCount() == 0:
            self.setRowCount(1)

        self.file_selection_changed()
Beispiel #10
0
def test_to_lang_code(lang_text):
    len_lang_text = max(
        [len(lang_text) for lang_text in main.settings_global['langs']])
    lang_code = wl_conversion.to_lang_code(main, lang_text)

    assert lang_code == main.settings_global['langs'][lang_text]
    def preview_settings_changed(self):
        settings_custom = self.main.settings_custom['stop_words']

        settings_custom['preview_lang'] = wl_conversion.to_lang_code(
            self.main, self.combo_box_stop_words_preview_lang.currentText())
Beispiel #12
0
def test_to_lang_code():
    for lang_text in settings_langs.keys():
        lang_code = wl_conversion.to_lang_code(main, lang_text)

        assert lang_code == settings_langs[lang_text][0]