From 6013eaab38957c9d47c37b38151c4a163fa46780 Mon Sep 17 00:00:00 2001 From: Emanuele Date: Mon, 23 Mar 2020 11:29:40 +0100 Subject: [PATCH] splitter e' diventato un QThread per mandare messaggi all'esterno --- .../UserInterface/compiledUI/selezout.py | 16 +++++++------- bananaSPLIT/UserInterface/selezout.ui | 6 +++--- bananaSPLIT/guimain.py | 21 +++++++++---------- bananaSPLIT/libbananasplit/libsplit.py | 9 +++++++- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/bananaSPLIT/UserInterface/compiledUI/selezout.py b/bananaSPLIT/UserInterface/compiledUI/selezout.py index d5cd02b..1007147 100644 --- a/bananaSPLIT/UserInterface/compiledUI/selezout.py +++ b/bananaSPLIT/UserInterface/compiledUI/selezout.py @@ -12,7 +12,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_selezout(object): def setupUi(self, selezout): selezout.setObjectName("selezout") - selezout.resize(480, 400) + selezout.resize(577, 400) self.gridLayout_2 = QtWidgets.QGridLayout(selezout) self.gridLayout_2.setObjectName("gridLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() @@ -100,14 +100,14 @@ class Ui_selezout(object): self.horizontalLayout.addWidget(self.lin_specialChars) self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2) self.gridLayout_2.addLayout(self.gridLayout, 8, 0, 1, 4) - self.btn_avanti = QtWidgets.QPushButton(selezout) - self.btn_avanti.setMinimumSize(QtCore.QSize(75, 0)) - self.btn_avanti.setMaximumSize(QtCore.QSize(75, 16777215)) + self.btn_split = QtWidgets.QPushButton(selezout) + self.btn_split.setMinimumSize(QtCore.QSize(75, 0)) + self.btn_split.setMaximumSize(QtCore.QSize(75, 16777215)) font = QtGui.QFont() font.setPointSize(10) - self.btn_avanti.setFont(font) - self.btn_avanti.setObjectName("btn_avanti") - self.gridLayout_2.addWidget(self.btn_avanti, 9, 3, 1, 1) + self.btn_split.setFont(font) + self.btn_split.setObjectName("btn_split") + self.gridLayout_2.addWidget(self.btn_split, 9, 3, 1, 1) self.lbl_indicazioni = QtWidgets.QLabel(selezout) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) @@ -157,7 +157,7 @@ class Ui_selezout(object): self.chk_removeBreakWord.setText(_translate("selezout", "Rimuovi interruzioni parola (a capo)")) self.chk_cleaDestFolder.setText(_translate("selezout", "Svuota cartella di destinazione")) self.label.setText(_translate("selezout", "Caratteri speciali da rimuovere ")) - self.btn_avanti.setText(_translate("selezout", "Avanti")) + self.btn_split.setText(_translate("selezout", "SPLITTA!")) self.lbl_indicazioni.setText(_translate("selezout", "Seleziona il tipo di file da salvare")) self.lbl_indicazioni_2.setText(_translate("selezout", "Altre Opzioni ")) self.btn_indietro.setText(_translate("selezout", "Indietro")) diff --git a/bananaSPLIT/UserInterface/selezout.ui b/bananaSPLIT/UserInterface/selezout.ui index 5d8164e..af47712 100644 --- a/bananaSPLIT/UserInterface/selezout.ui +++ b/bananaSPLIT/UserInterface/selezout.ui @@ -6,7 +6,7 @@ 0 0 - 480 + 577 400 @@ -178,7 +178,7 @@ - + 75 @@ -197,7 +197,7 @@ - Avanti + SPLITTA! diff --git a/bananaSPLIT/guimain.py b/bananaSPLIT/guimain.py index bda38a3..139a93d 100644 --- a/bananaSPLIT/guimain.py +++ b/bananaSPLIT/guimain.py @@ -337,7 +337,7 @@ class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget): pass def applica(self): - self.log.info("Applico Avanzate Titolo") + #data if self.titoloavui.rad_dataprimo.isChecked(): self.conf.setParam(('docStruct', 'datePos'), 1) @@ -379,20 +379,18 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget): self.conf = confloader self.log = logger if self.conf is not None: - self.selezoutui.btn_avanti.clicked.connect(self.splitta) - self.selezoutui.btn_avanti.clicked.connect(self.applica) + self.selezoutui.btn_split.clicked.connect(self.splitta) + self.selezoutui.btn_split.clicked.connect(self.applica) self.fillInterface() pass def fillInterface(self): - prevFile = self.conf.inUse - self.conf.use('languageconf.json') try: + self.selezoutui.cmb_lingua.clear() self.selezoutui.cmb_lingua.addItems(self.conf.settingsList['languageconf.json'].keys()) - self.selezoutui.rad_mainbodyEFile.setChecked(self.conf.getParam('settings', 'saveBodyFile') & - self.conf.getParam('settings', 'saveSeparateFiles')) - self.selezoutui.rad_file.setChecked(self.conf.getParam('settings', 'saveSeparateFiles')) - self.selezoutui.rad_mainbody.setChecked(self.conf.getParam('settings', 'saveBodyFile')) + self.selezoutui.rad_mainbodyEFile.setChecked(self.conf.getParam('settings', 'saveBodyFile') and self.conf.getParam('settings', 'saveSeparateFiles')) + self.selezoutui.rad_file.setChecked(self.conf.getParam('settings', 'saveSeparateFiles') and not self.conf.getParam('settings', 'saveBodyFile')) + self.selezoutui.rad_mainbody.setChecked(self.conf.getParam('settings', 'saveBodyFile') and not self.conf.getParam('settings', 'saveSeparateFiles')) self.selezoutui.chk_removeDuplicates.setChecked(self.conf.getParam('settings', 'removeDuplicates')) self.selezoutui.chk_includeTitle.setChecked(self.conf.getParam('settings', 'includeTitle')) self.selezoutui.chk_removeBreakWord.setChecked(self.conf.getParam('settings', 'delWordBreak')) @@ -401,10 +399,10 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget): pass except: self.log.critical("SelezUscita: Configurazione non accettata") - self.conf.use(prevFile) pass def applica(self): + self.log.info("Applico Impostazioni Uscita") self.conf.setParam(('docStruct', 'language'), self.selezoutui.cmb_lingua.currentText()) self.conf.setParam(('settings', 'saveBodyFile'), self.selezoutui.rad_mainbody.isChecked() | self.selezoutui.rad_mainbodyEFile.isChecked()) @@ -413,11 +411,12 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget): self.conf.setParam(('settings', 'removeDuplicates'), self.selezoutui.chk_removeDuplicates.isChecked()) self.conf.setParam(('settings', 'includeTitle'), self.selezoutui.chk_removeDuplicates.isChecked()) self.conf.setParam(('settings', 'delWordBreak'), self.selezoutui.chk_removeBreakWord.isChecked()) - self.conf.setParam(('settings', 'removeOldFiles'), self.selezoutui.chk_cleaDestFolder()) + self.conf.setParam(('settings', 'removeOldFiles'), self.selezoutui.chk_cleaDestFolder.isChecked()) self.conf.setParam(('settings', 'delChars'), list(self.selezoutui.lin_specialChars.text())) pass def splitta(self): + # costruisco il dizionario di configurazione pass diff --git a/bananaSPLIT/libbananasplit/libsplit.py b/bananaSPLIT/libbananasplit/libsplit.py index 469102f..482b1b7 100644 --- a/bananaSPLIT/libbananasplit/libsplit.py +++ b/bananaSPLIT/libbananasplit/libsplit.py @@ -3,10 +3,17 @@ Created on 2 nov 2019 @author: Emanuele Trabattoni ''' +from PyQt5.QtCore import QThread +from PyQt5.Qt import pyqtSignal + from slugify import slugify import time, parse, re, copy, os, threading -class bananaSPLITTER(threading.Thread): + +class bananaSPLITTER(QThread): + + sendStatus = pyqtSignal(str) + def __init__(self, fileParams=None, logger=None): threading.Thread.__init__(self) self.fileParams = fileParams