예제 #1
0
    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('')
예제 #2
0
def test_to_lang_util_texts():
    for util_type in settings_lang_utils:
        TO_LANG_UTIL_TEXT = {
            util_code: util_text
            for util_text, util_code in settings_lang_utils[util_type].items()
        }

        util_texts = wl_nlp_utils.to_lang_util_texts(
            main, util_type, settings_lang_utils[util_type].values())

        assert list(util_texts) == list(TO_LANG_UTIL_TEXT.values())
예제 #3
0
    def __init__(self, main):
        super().__init__(main)

        self.settings_global = self.main.settings_global['pos_taggers']
        self.settings_default = self.main.settings_default['pos_tagging']
        self.settings_custom = self.main.settings_custom['pos_tagging']

        # POS Tagger Settings
        group_box_pos_tagger_settings = QGroupBox(
            self.tr('POS Tagger Settings'), self)

        self.table_pos_taggers = wl_tables.Wl_Table(
            self,
            headers=[self.tr('Language'),
                     self.tr('POS Taggers')],
            editable=True)

        self.checkbox_to_universal_pos_tags = QCheckBox(
            self.tr('Convert all POS tags to universal POS tags'))

        self.table_pos_taggers.verticalHeader().setHidden(True)
        self.table_pos_taggers.model().setRowCount(len(self.settings_global))

        self.table_pos_taggers.disable_updates()

        for i, lang in enumerate(self.settings_global):
            self.table_pos_taggers.model().setItem(
                i, 0,
                QStandardItem(wl_conversion.to_lang_text(self.main, lang)))
            self.table_pos_taggers.model().setItem(i, 1, QStandardItem())

            self.table_pos_taggers.setItemDelegateForRow(
                i,
                wl_item_delegates.Wl_Item_Delegate_Combo_Box(
                    parent=self.table_pos_taggers,
                    items=list(
                        wl_nlp_utils.to_lang_util_texts(
                            self.main,
                            util_type='pos_taggers',
                            util_codes=self.settings_global[lang])),
                    col=1))

        self.table_pos_taggers.enable_updates()

        group_box_pos_tagger_settings.setLayout(wl_layouts.Wl_Layout())
        group_box_pos_tagger_settings.layout().addWidget(
            self.table_pos_taggers, 0, 0)
        group_box_pos_tagger_settings.layout().addWidget(
            self.checkbox_to_universal_pos_tags, 1, 0)

        # Preview
        group_box_preview = QGroupBox(self.tr('Preview'), self)

        self.label_pos_tagging_preview_lang = QLabel(
            self.tr('Select language:'), self)
        self.combo_box_pos_tagging_preview_lang = wl_boxes.Wl_Combo_Box(self)
        self.button_pos_tagging_show_preview = QPushButton(
            self.tr('Show preview'), self)
        self.text_edit_pos_tagging_preview_samples = QTextEdit(self)
        self.text_edit_pos_tagging_preview_results = QTextEdit(self)

        self.combo_box_pos_tagging_preview_lang.addItems(
            wl_conversion.to_lang_texts(self.main, self.settings_global))

        self.button_pos_tagging_show_preview.setFixedWidth(150)
        self.text_edit_pos_tagging_preview_samples.setAcceptRichText(False)
        self.text_edit_pos_tagging_preview_results.setReadOnly(True)

        self.combo_box_pos_tagging_preview_lang.currentTextChanged.connect(
            self.preview_changed)
        self.button_pos_tagging_show_preview.clicked.connect(
            self.preview_results_changed)
        self.text_edit_pos_tagging_preview_samples.textChanged.connect(
            self.preview_changed)
        self.text_edit_pos_tagging_preview_results.textChanged.connect(
            self.preview_changed)

        layout_preview_settings = wl_layouts.Wl_Layout()
        layout_preview_settings.addWidget(self.label_pos_tagging_preview_lang,
                                          0, 0)
        layout_preview_settings.addWidget(
            self.combo_box_pos_tagging_preview_lang, 0, 1)
        layout_preview_settings.addWidget(self.button_pos_tagging_show_preview,
                                          0, 3)

        layout_preview_settings.setColumnStretch(2, 1)

        group_box_preview.setLayout(wl_layouts.Wl_Layout())
        group_box_preview.layout().addLayout(layout_preview_settings, 0, 0, 1,
                                             2)
        group_box_preview.layout().addWidget(
            self.text_edit_pos_tagging_preview_samples, 1, 0)
        group_box_preview.layout().addWidget(
            self.text_edit_pos_tagging_preview_results, 1, 1)

        self.setLayout(wl_layouts.Wl_Layout())
        self.layout().addWidget(group_box_pos_tagger_settings, 0, 0)
        self.layout().addWidget(group_box_preview, 1, 0)

        self.layout().setContentsMargins(6, 4, 6, 4)
        self.layout().setRowStretch(0, 3)
        self.layout().setRowStretch(1, 2)
예제 #4
0
    def __init__(self, main):
        super().__init__(main)

        self.settings_global = self.main.settings_global['stop_word_lists']
        self.settings_default = self.main.settings_default['stop_word_lists']
        self.settings_custom = self.main.settings_custom['stop_word_lists']

        # Stop Word Lists Settings
        group_box_stop_word_lists_settings = QGroupBox(
            self.tr('Stop Word Lists Settings'), self)

        self.table_stop_word_lists = wl_tables.Wl_Table(
            self,
            headers=[self.tr('Language'),
                     self.tr('Stop Word List')],
            editable=True)

        self.table_stop_word_lists.verticalHeader().setHidden(True)
        self.table_stop_word_lists.model().setRowCount(
            len(self.settings_global))

        self.table_stop_word_lists.disable_updates()

        for i, lang in enumerate(self.settings_global):
            self.table_stop_word_lists.model().setItem(
                i, 0,
                QStandardItem(wl_conversion.to_lang_text(self.main, lang)))
            self.table_stop_word_lists.model().setItem(i, 1, QStandardItem())
            self.table_stop_word_lists.setItemDelegateForRow(
                i,
                wl_item_delegates.Wl_Item_Delegate_Combo_Box(
                    parent=self.table_stop_word_lists,
                    items=list(
                        wl_nlp_utils.to_lang_util_texts(
                            self.main,
                            util_type='stop_word_lists',
                            util_codes=self.settings_global[lang])),
                    col=1))

        self.table_stop_word_lists.enable_updates()

        self.table_stop_word_lists.model().dataChanged.connect(
            self.stop_word_list_changed)

        group_box_stop_word_lists_settings.setLayout(wl_layouts.Wl_Layout())
        group_box_stop_word_lists_settings.layout().addWidget(
            self.table_stop_word_lists, 0, 0)

        # Preview
        group_box_preview = QGroupBox(self.tr('Preview'), self)

        self.label_stop_word_list_preview_lang = QLabel(
            self.tr('Select language:'), self)
        self.combo_box_stop_word_list_preview_lang = wl_boxes.Wl_Combo_Box(
            self)
        self.combo_box_stop_word_list_preview_lang.addItems(
            wl_conversion.to_lang_texts(self.main, self.settings_global))
        self.label_stop_word_list_preview_count = QLabel('', self)

        self.list_stop_word_list_preview_results = wl_lists.Wl_List_Stop_Words(
            self)

        self.combo_box_stop_word_list_preview_lang.currentTextChanged.connect(
            self.preview_settings_changed)
        self.combo_box_stop_word_list_preview_lang.currentTextChanged.connect(
            self.preview_results_changed)

        layout_preview_settings = wl_layouts.Wl_Layout()
        layout_preview_settings.addWidget(
            self.label_stop_word_list_preview_lang, 0, 0)
        layout_preview_settings.addWidget(
            self.combo_box_stop_word_list_preview_lang, 0, 1)
        layout_preview_settings.addWidget(
            self.label_stop_word_list_preview_count, 0, 3)

        layout_preview_settings.setColumnStretch(2, 1)

        group_box_preview.setLayout(wl_layouts.Wl_Layout())
        group_box_preview.layout().addLayout(layout_preview_settings, 0, 0, 1,
                                             6)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results, 1, 0, 1, 6)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_add, 2, 0)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_ins, 2, 1)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_del, 2, 2)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_clr, 2, 3)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_imp, 2, 4)
        group_box_preview.layout().addWidget(
            self.list_stop_word_list_preview_results.button_exp, 2, 5)

        self.setLayout(wl_layouts.Wl_Layout())
        self.layout().addWidget(group_box_stop_word_lists_settings, 0, 0)
        self.layout().addWidget(group_box_preview, 1, 0)

        self.layout().setContentsMargins(6, 4, 6, 4)
        self.layout().setRowStretch(0, 3)
        self.layout().setRowStretch(1, 2)

        self.load_settings()
        self.preview_results_changed()