splitter e' diventato un QThread per mandare messaggi all'esterno

This commit is contained in:
2020-03-23 11:29:40 +01:00
parent f0c012bbf0
commit 6013eaab38
4 changed files with 29 additions and 23 deletions

View File

@@ -12,7 +12,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_selezout(object): class Ui_selezout(object):
def setupUi(self, selezout): def setupUi(self, selezout):
selezout.setObjectName("selezout") selezout.setObjectName("selezout")
selezout.resize(480, 400) selezout.resize(577, 400)
self.gridLayout_2 = QtWidgets.QGridLayout(selezout) self.gridLayout_2 = QtWidgets.QGridLayout(selezout)
self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout_2.setObjectName("gridLayout_2")
self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout = QtWidgets.QVBoxLayout()
@@ -100,14 +100,14 @@ class Ui_selezout(object):
self.horizontalLayout.addWidget(self.lin_specialChars) self.horizontalLayout.addWidget(self.lin_specialChars)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2) self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)
self.gridLayout_2.addLayout(self.gridLayout, 8, 0, 1, 4) self.gridLayout_2.addLayout(self.gridLayout, 8, 0, 1, 4)
self.btn_avanti = QtWidgets.QPushButton(selezout) self.btn_split = QtWidgets.QPushButton(selezout)
self.btn_avanti.setMinimumSize(QtCore.QSize(75, 0)) self.btn_split.setMinimumSize(QtCore.QSize(75, 0))
self.btn_avanti.setMaximumSize(QtCore.QSize(75, 16777215)) self.btn_split.setMaximumSize(QtCore.QSize(75, 16777215))
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(10) font.setPointSize(10)
self.btn_avanti.setFont(font) self.btn_split.setFont(font)
self.btn_avanti.setObjectName("btn_avanti") self.btn_split.setObjectName("btn_split")
self.gridLayout_2.addWidget(self.btn_avanti, 9, 3, 1, 1) self.gridLayout_2.addWidget(self.btn_split, 9, 3, 1, 1)
self.lbl_indicazioni = QtWidgets.QLabel(selezout) self.lbl_indicazioni = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
@@ -157,7 +157,7 @@ class Ui_selezout(object):
self.chk_removeBreakWord.setText(_translate("selezout", "Rimuovi interruzioni parola (a capo)")) self.chk_removeBreakWord.setText(_translate("selezout", "Rimuovi interruzioni parola (a capo)"))
self.chk_cleaDestFolder.setText(_translate("selezout", "Svuota cartella di destinazione")) self.chk_cleaDestFolder.setText(_translate("selezout", "Svuota cartella di destinazione"))
self.label.setText(_translate("selezout", "Caratteri speciali da rimuovere ")) 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.setText(_translate("selezout", "Seleziona il tipo di file da salvare"))
self.lbl_indicazioni_2.setText(_translate("selezout", "Altre Opzioni ")) self.lbl_indicazioni_2.setText(_translate("selezout", "Altre Opzioni "))
self.btn_indietro.setText(_translate("selezout", "Indietro")) self.btn_indietro.setText(_translate("selezout", "Indietro"))

View File

@@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>480</width> <width>577</width>
<height>400</height> <height>400</height>
</rect> </rect>
</property> </property>
@@ -178,7 +178,7 @@
</layout> </layout>
</item> </item>
<item row="9" column="3"> <item row="9" column="3">
<widget class="QPushButton" name="btn_avanti"> <widget class="QPushButton" name="btn_split">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>75</width> <width>75</width>
@@ -197,7 +197,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Avanti</string> <string>SPLITTA!</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@@ -337,7 +337,7 @@ class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget):
pass pass
def applica(self): def applica(self):
self.log.info("Applico Avanzate Titolo")
#data #data
if self.titoloavui.rad_dataprimo.isChecked(): if self.titoloavui.rad_dataprimo.isChecked():
self.conf.setParam(('docStruct', 'datePos'), 1) self.conf.setParam(('docStruct', 'datePos'), 1)
@@ -379,20 +379,18 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
self.conf = confloader self.conf = confloader
self.log = logger self.log = logger
if self.conf is not None: if self.conf is not None:
self.selezoutui.btn_avanti.clicked.connect(self.splitta) self.selezoutui.btn_split.clicked.connect(self.splitta)
self.selezoutui.btn_avanti.clicked.connect(self.applica) self.selezoutui.btn_split.clicked.connect(self.applica)
self.fillInterface() self.fillInterface()
pass pass
def fillInterface(self): def fillInterface(self):
prevFile = self.conf.inUse
self.conf.use('languageconf.json')
try: try:
self.selezoutui.cmb_lingua.clear()
self.selezoutui.cmb_lingua.addItems(self.conf.settingsList['languageconf.json'].keys()) self.selezoutui.cmb_lingua.addItems(self.conf.settingsList['languageconf.json'].keys())
self.selezoutui.rad_mainbodyEFile.setChecked(self.conf.getParam('settings', 'saveBodyFile') & self.selezoutui.rad_mainbodyEFile.setChecked(self.conf.getParam('settings', 'saveBodyFile') and self.conf.getParam('settings', 'saveSeparateFiles'))
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_file.setChecked(self.conf.getParam('settings', 'saveSeparateFiles')) self.selezoutui.rad_mainbody.setChecked(self.conf.getParam('settings', 'saveBodyFile') and not self.conf.getParam('settings', 'saveSeparateFiles'))
self.selezoutui.rad_mainbody.setChecked(self.conf.getParam('settings', 'saveBodyFile'))
self.selezoutui.chk_removeDuplicates.setChecked(self.conf.getParam('settings', 'removeDuplicates')) self.selezoutui.chk_removeDuplicates.setChecked(self.conf.getParam('settings', 'removeDuplicates'))
self.selezoutui.chk_includeTitle.setChecked(self.conf.getParam('settings', 'includeTitle')) self.selezoutui.chk_includeTitle.setChecked(self.conf.getParam('settings', 'includeTitle'))
self.selezoutui.chk_removeBreakWord.setChecked(self.conf.getParam('settings', 'delWordBreak')) self.selezoutui.chk_removeBreakWord.setChecked(self.conf.getParam('settings', 'delWordBreak'))
@@ -401,10 +399,10 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
pass pass
except: except:
self.log.critical("SelezUscita: Configurazione non accettata") self.log.critical("SelezUscita: Configurazione non accettata")
self.conf.use(prevFile)
pass pass
def applica(self): def applica(self):
self.log.info("Applico Impostazioni Uscita")
self.conf.setParam(('docStruct', 'language'), self.selezoutui.cmb_lingua.currentText()) self.conf.setParam(('docStruct', 'language'), self.selezoutui.cmb_lingua.currentText())
self.conf.setParam(('settings', 'saveBodyFile'), self.selezoutui.rad_mainbody.isChecked() self.conf.setParam(('settings', 'saveBodyFile'), self.selezoutui.rad_mainbody.isChecked()
| self.selezoutui.rad_mainbodyEFile.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', 'removeDuplicates'), self.selezoutui.chk_removeDuplicates.isChecked())
self.conf.setParam(('settings', 'includeTitle'), 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', '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())) self.conf.setParam(('settings', 'delChars'), list(self.selezoutui.lin_specialChars.text()))
pass pass
def splitta(self): def splitta(self):
# costruisco il dizionario di configurazione
pass pass

View File

@@ -3,10 +3,17 @@ Created on 2 nov 2019
@author: Emanuele Trabattoni @author: Emanuele Trabattoni
''' '''
from PyQt5.QtCore import QThread
from PyQt5.Qt import pyqtSignal
from slugify import slugify from slugify import slugify
import time, parse, re, copy, os, threading import time, parse, re, copy, os, threading
class bananaSPLITTER(threading.Thread):
class bananaSPLITTER(QThread):
sendStatus = pyqtSignal(str)
def __init__(self, fileParams=None, logger=None): def __init__(self, fileParams=None, logger=None):
threading.Thread.__init__(self) threading.Thread.__init__(self)
self.fileParams = fileParams self.fileParams = fileParams