STARK-web/gui.py
2023-10-04 17:24:40 +02:00

152 lines
5.8 KiB
Python
Executable File

# -*- coding: utf-8 -*-
import configparser
# Form implementation generated from reading ui file 'gui/designer/data.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from stark import parse_args, read_configs, run
def create_default_configs():
configs = {}
# mandatory parameters
configs['input'] = 'data/sl_ssj-ud_v2.4.conllu'
configs['input_path'] = 'data/sl_ssj-ud_v2.4.conllu'
configs['output'] = 'results/out_official.tsv'
configs['tree_size'] = '2-4'
configs['node_type'] = 'upos'
# mandatory parameters with default value
configs['internal_saves'] = './internal_saves'
configs['cpu_cores'] = 12
configs['complete_tree_type'] = True
configs['dependency_type'] = True
configs['node_order'] = True
configs['association_measures'] = False
configs['label_whitelist'] = []
configs['root_whitelist'] = []
configs['query'] = None
configs['compare'] = None
configs['frequency_threshold'] = 0
configs['lines_threshold'] = None
configs['continuation_processing'] = False
configs['nodes_number'] = True
configs['print_root'] = True
if configs['compare'] is not None:
configs['other_input_path'] = configs['compare']
return configs
class Ui_STARK(object):
def setupUi(self, STARK):
self.fixed = True
STARK.setObjectName("STARK")
STARK.resize(800, 600)
self.buttonBox = QtWidgets.QDialogButtonBox(STARK)
self.buttonBox.setGeometry(QtCore.QRect(430, 540, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.formLayoutWidget = QtWidgets.QWidget(STARK)
self.formLayoutWidget.setGeometry(QtCore.QRect(30, 30, 741, 481))
self.formLayoutWidget.setObjectName("formLayoutWidget")
self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)
self.formLayout.setContentsMargins(0, 0, 0, 0)
self.formLayout.setObjectName("formLayout")
self.label = QtWidgets.QLabel(self.formLayoutWidget)
self.label.setObjectName("label")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
self.textEdit = QtWidgets.QTextEdit(self.formLayoutWidget)
self.textEdit.setObjectName("textEdit")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.textEdit)
self.label_2 = QtWidgets.QLabel(self.formLayoutWidget)
self.label_2.setObjectName("label_2")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2)
self.textEdit_2 = QtWidgets.QTextEdit(self.formLayoutWidget)
self.textEdit_2.setObjectName("textEdit_2")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.textEdit_2)
self.label_3 = QtWidgets.QLabel(self.formLayoutWidget)
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.radioButton = QtWidgets.QRadioButton(self.formLayoutWidget)
self.radioButton.setObjectName("radioButton")
self.radioButton.setChecked(True)
self.radioButton.clicked.connect(self.fixed_click_on)
self.verticalLayout.addWidget(self.radioButton)
self.radioButton_2 = QtWidgets.QRadioButton(self.formLayoutWidget)
self.radioButton_2.setObjectName("radioButton_2")
self.radioButton_2.clicked.connect(self.fixed_click_off)
self.verticalLayout.addWidget(self.radioButton_2)
self.formLayout.setLayout(2, QtWidgets.QFormLayout.FieldRole, self.verticalLayout)
self.label_4 = QtWidgets.QLabel(self.formLayoutWidget)
self.label_4.setObjectName("label_4")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
self.retranslateUi(STARK)
self.buttonBox.accepted.connect(self.process)
#self.buttonBox.rejected.connect(self.process)
self.buttonBox.rejected.connect(STARK.reject)
QtCore.QMetaObject.connectSlotsByName(STARK)
def fixed_click_on(self):
self.fixed = True
def fixed_click_off(self):
self.fixed = False
def retranslateUi(self, STARK):
_translate = QtCore.QCoreApplication.translate
STARK.setWindowTitle(_translate("STARK", "Dialog"))
self.label.setText(_translate("STARK", "Input"))
self.label_2.setText(_translate("STARK", "Output"))
self.label_3.setText(_translate("STARK", "Fixed"))
self.radioButton.setText(_translate("STARK", "Yes"))
self.radioButton_2.setText(_translate("STARK", "No"))
def process(self):
config = configparser.ConfigParser()
config.read('config.ini')
#configs = read_configs(config, args)
configs = create_default_configs()
input_path = self.textEdit.toPlainText()
output_path = self.textEdit_2.toPlainText()
fixed = self.fixed
configs['input'] = configs['input'] if not input_path else input_path
configs['input_path'] = configs['input_path'] if not input_path else input_path
configs['output'] = configs['output'] if not output_path else output_path
configs['node_order'] = configs['node_order'] if not fixed else fixed
run(configs)
print('DONE!')
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
STARK = QtWidgets.QDialog()
ui = Ui_STARK()
ui.setupUi(STARK)
STARK.show()
sys.exit(app.exec_())