continua a funzionare ma solo con un thread per volta

devo togliere os.chdir e usare i percorsi assoluti, altrimenti si
confonde perche' cambia la dir globalmente
This commit is contained in:
2020-03-25 16:20:02 +01:00
parent d9bea99092
commit a2400ccdbc
3 changed files with 21 additions and 8 deletions

View File

@@ -59,8 +59,8 @@
"nameNotFoundStr": "ND", "nameNotFoundStr": "ND",
"includeTitle": true, "includeTitle": true,
"removeDuplicates": true, "removeDuplicates": true,
"showSkipped": true, "showSkipped": false,
"showRemovedDuplicates": true, "showRemovedDuplicates": false,
"loadTXT": true, "loadTXT": true,
"loadDOCX": false, "loadDOCX": false,
"removeOldFiles": true, "removeOldFiles": true,

View File

@@ -20,7 +20,9 @@ from libconfload import bananaCONF
from libsplit import bananaSPLITTER from libsplit import bananaSPLITTER
from PyQt5.QtCore import QDir from PyQt5.QtCore import QDir
import copy from PyQt5.QtWidgets import QMessageBox
from PyQt5.Qt import pyqtSlot, QThread
import copy, time
class bananaMain(PyQt5.QtWidgets.QMainWindow): class bananaMain(PyQt5.QtWidgets.QMainWindow):
def __init__(self): def __init__(self):
@@ -438,19 +440,30 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
#unisco i pezzi #unisco i pezzi
splconf['docStruct']['outNameFormat'] = splconf['docStruct']['outNameSep'].join(nametemp)+splconf['docStruct']['outExt'] splconf['docStruct']['outNameFormat'] = splconf['docStruct']['outNameSep'].join(nametemp)+splconf['docStruct']['outExt']
#costruisco messageBox
msgb = QMessageBox(parent=self, icon=QMessageBox.Warning)
msgb.show()
@pyqtSlot()
def updateState(msg):
print (msg)
msgb.setText(msg)
# costruisco i thread # costruisco i thread
tDict={} tDict={}
try: try:
print("inizio splitter")
for f in splconf['paths']['fileList']: for f in splconf['paths']['fileList']:
splconf['name']=f splconf['name']=f
tDict[f] = bananaSPLITTER(fileParams=copy.deepcopy(splconf), logger=self.log) tDict[f] = bananaSPLITTER(fileParams=copy.deepcopy(splconf), logger=self.log)
tDict[f].sendStatus.connect(updateState)
tDict[f].start() tDict[f].start()
tDict[f].wait() #tDict[f].wait()
time.sleep(1)
except Exception as e: except Exception as e:
self.log.error(f"Impossibile avviare lo splitter: {e}") self.log.error(f"Impossibile avviare lo splitter: {e}")
pass pass
class bananaAdvOpt(PyQt5.QtWidgets.QWidget): class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
def __init__(self, confloader=None, logger=None): def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self) PyQt5.QtWidgets.QWidget.__init__(self)

View File

@@ -7,7 +7,7 @@ from PyQt5.QtCore import QThread
from PyQt5.Qt import pyqtSignal from PyQt5.Qt import pyqtSignal
from slugify import slugify from slugify import slugify
import time, parse, re, copy, os,json import time, parse, re, copy, os, json
import traceback import traceback
class bananaSPLITTER(QThread): class bananaSPLITTER(QThread):
@@ -39,6 +39,7 @@ class bananaSPLITTER(QThread):
def run(self): def run(self):
self.log.info("Nuovo SPLITTER su file: {}".format(self.fileName)) self.log.info("Nuovo SPLITTER su file: {}".format(self.fileName))
self.sendStatus.emit(f"Inizio {self.fileName}")
try: try:
self.openFile() self.openFile()
self.remEmptyLines() self.remEmptyLines()
@@ -134,8 +135,7 @@ class bananaSPLITTER(QThread):
pass pass
else: else:
if self.settings["showSkipped"]: if self.settings["showSkipped"]:
self.log.warn("Il conto dei documenti non torna! LexisNexis \ self.log.warn("Il conto dei documenti non torna! LexisNexis ne ha saltato qualcuno!\n Precedente:{0}-Attuale:{1}".format(docNumber,nn["current"]))
ne ha saltato qualcuno!\nPrecedente:{0}-Attuale:{1}".format(docNumber,nn["current"]))
docSkipped+=1 docSkipped+=1
docNumber = nn["current"] docNumber = nn["current"]
except: except: