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('')
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( )
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()
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
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()
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())
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]