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):
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"))

View File

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

View File

@@ -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

View File

@@ -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