tr anche sui fle di libreria
This commit is contained in:
@@ -18,13 +18,13 @@ class bananaCONF(object):
|
|||||||
if workdir is not None:
|
if workdir is not None:
|
||||||
self.workdir = workdir
|
self.workdir = workdir
|
||||||
os.chdir(workdir)
|
os.chdir(workdir)
|
||||||
self.log.debug("Cerco le configurazioni in: [{}]".format(os.getcwd()))
|
self.log.debug(tr("Cerco le configurazioni in: [{}]").format(os.getcwd()))
|
||||||
else:
|
else:
|
||||||
self.log.error("Non mi e' stata fornita una directory per i file di configurazione")
|
self.log.error(tr("Non mi e' stata fornita una directory per i file di configurazione"))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def open(self):
|
def open(self):
|
||||||
self.log.info("Carico i file di configurazione")
|
self.log.info(tr("Carico i file di configurazione"))
|
||||||
self.fileList = glob.glob(r"*.json")
|
self.fileList = glob.glob(r"*.json")
|
||||||
if len(self.fileList) > 0:
|
if len(self.fileList) > 0:
|
||||||
for f in self.fileList:
|
for f in self.fileList:
|
||||||
@@ -33,17 +33,17 @@ class bananaCONF(object):
|
|||||||
tf = json.load(fp)
|
tf = json.load(fp)
|
||||||
fName = f.split("\\")[-1]
|
fName = f.split("\\")[-1]
|
||||||
self.settingsList[fName] = copy.deepcopy(tf)
|
self.settingsList[fName] = copy.deepcopy(tf)
|
||||||
self.log.info("Caricato correttamente: {}".format(fName))
|
self.log.info(tr("Caricato correttamente: {}").format(fName))
|
||||||
fp.close()
|
fp.close()
|
||||||
except json.JSONDecodeError as e:
|
except json.JSONDecodeError as e:
|
||||||
self.log.error("Impossibile leggere la configurazione:{}\n \
|
self.log.error(tr("Impossibile leggere la configurazione:{}\n \
|
||||||
Controlla il file a riga: {} e colonna:{}" .format(e.doc, e.lineno, e.colno))
|
Controlla il file a riga: {} e colonna:{}").format(e.doc, e.lineno, e.colno))
|
||||||
except IOError as ee:
|
except IOError as ee:
|
||||||
self.log.error("Impossibile aprire il file: {}".format(ee))
|
self.log.error(tr("Impossibile aprire il file: {}").format(ee))
|
||||||
except Exception as eee:
|
except Exception as eee:
|
||||||
self.log.critical("Eccezione inaspettata: {}".format(eee))
|
self.log.critical(tr("Eccezione inaspettata: {}").format(eee))
|
||||||
else:
|
else:
|
||||||
self.log.error("Non ho trovato alcun file di configurazione!")
|
self.log.error(tr("Non ho trovato alcun file di configurazione!"))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def reload(self):
|
def reload(self):
|
||||||
@@ -60,15 +60,15 @@ class bananaCONF(object):
|
|||||||
def save(self, fName=None):
|
def save(self, fName=None):
|
||||||
if fName is None:
|
if fName is None:
|
||||||
fName=self.inUse
|
fName=self.inUse
|
||||||
self.log.info("Salvo la configurazione: {}".format(fName))
|
self.log.info(tr("Salvo la configurazione: {}").format(fName))
|
||||||
try:
|
try:
|
||||||
f=open(fName, 'w')
|
f=open(fName, 'w')
|
||||||
json.dump(self.settingsList[self.inUse], f, indent='\t')
|
json.dump(self.settingsList[self.inUse], f, indent='\t')
|
||||||
f.close()
|
f.close()
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
self.log.error("Impossibile salvare il file: {} - [{}]".format(fName,e))
|
self.log.error(tr("Impossibile salvare il file: {} - [{}]").format(fName,e))
|
||||||
except Exception as ei:
|
except Exception as ei:
|
||||||
self.log.error("Errore imprevisto nella scrittura del file: {}".format(ei))
|
self.log.error(tr("Errore imprevisto nella scrittura del file: {}").format(ei))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def getFiles(self):
|
def getFiles(self):
|
||||||
@@ -81,7 +81,7 @@ class bananaCONF(object):
|
|||||||
rv = rv[k]
|
rv = rv[k]
|
||||||
return rv
|
return rv
|
||||||
except ValueError as ve:
|
except ValueError as ve:
|
||||||
self.log.error("Parametro di configurazione non valido! [{}]".format(ve))
|
self.log.error(tr("Parametro di configurazione non valido! [{}]").format(ve))
|
||||||
return False
|
return False
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ class bananaCONF(object):
|
|||||||
sv[keys[-1]] = val
|
sv[keys[-1]] = val
|
||||||
return True
|
return True
|
||||||
except ValueError as ve:
|
except ValueError as ve:
|
||||||
self.log.error("Parametro di configurazione non valido! [{}]".format(ve))
|
self.log.error(tr("Parametro di configurazione non valido! [{}]").format(ve))
|
||||||
return False
|
return False
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class bananaSPLITTER(QObject):
|
|||||||
self.duplicateNumber=0
|
self.duplicateNumber=0
|
||||||
#self.log.debug(f"Configurazione: \n {json.dumps(fileParams, indent=2)}")
|
#self.log.debug(f"Configurazione: \n {json.dumps(fileParams, indent=2)}")
|
||||||
if fileParams is not None:
|
if fileParams is not None:
|
||||||
self.log.debug("Sto operando sul file: {}..".format(self.fileParams['name']))
|
self.log.debug(tr("Sto operando sul file: {}..").format(self.fileParams['name']))
|
||||||
self.paths = self.fileParams['paths']
|
self.paths = self.fileParams['paths']
|
||||||
self.docStruct = self.fileParams['docStruct']
|
self.docStruct = self.fileParams['docStruct']
|
||||||
self.settings = self.fileParams['settings']
|
self.settings = self.fileParams['settings']
|
||||||
@@ -33,12 +33,12 @@ class bananaSPLITTER(QObject):
|
|||||||
self.beginTime = time.time()
|
self.beginTime = time.time()
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.log.critical("Non e' stato fornito il nome di alcun file da splittare!")
|
self.log.critical(tr("Non e' stato fornito il nome di alcun file da splittare!"))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.log.info("Nuovo SPLITTER su file: {}".format(self.fileName))
|
self.log.info(tr("Nuovo SPLITTER su file: {}").format(self.fileName))
|
||||||
self.sendStatus.emit(f"Inizio {self.fileName}")
|
self.sendStatus.emit(tr(f"Inizio {self.fileName}"))
|
||||||
try:
|
try:
|
||||||
self.openFile()
|
self.openFile()
|
||||||
self.remEmptyLines()
|
self.remEmptyLines()
|
||||||
@@ -48,13 +48,13 @@ class bananaSPLITTER(QObject):
|
|||||||
self.splitFile()
|
self.splitFile()
|
||||||
|
|
||||||
if self.settings['removeDuplicates']:
|
if self.settings['removeDuplicates']:
|
||||||
self.log.info("Controllo se ci sono dei duplicati..")
|
self.log.info(tr("Controllo se ci sono dei duplicati.."))
|
||||||
self.removeDuplicates()
|
self.removeDuplicates()
|
||||||
else:
|
else:
|
||||||
for idx, ff in enumerate(self.contentList):
|
for idx, ff in enumerate(self.contentList):
|
||||||
ff['duplicate']=False
|
ff['duplicate']=False
|
||||||
self.contentList[idx]=ff
|
self.contentList[idx]=ff
|
||||||
self.log.warn('Salto il controllo dei duplicati..')
|
self.log.warn(tr("Salto il controllo dei duplicati.."))
|
||||||
# se il parse e la rimozione dei duplicati e' andata bene
|
# se il parse e la rimozione dei duplicati e' andata bene
|
||||||
# preparo e inizio il salvataggio
|
# preparo e inizio il salvataggio
|
||||||
if os.path.exists(self.outPath):
|
if os.path.exists(self.outPath):
|
||||||
@@ -63,7 +63,7 @@ class bananaSPLITTER(QObject):
|
|||||||
for f in os.listdir(self.outPath):
|
for f in os.listdir(self.outPath):
|
||||||
os.remove(self.outPath+f)
|
os.remove(self.outPath+f)
|
||||||
else:
|
else:
|
||||||
raise FileExistsError("Non posso sovrascrivere i vecchi file, eliminali manualmente!")
|
raise FileExistsError(tr("Non posso sovrascrivere i vecchi file, eliminali manualmente!"))
|
||||||
else:
|
else:
|
||||||
os.mkdir(self.outPath)
|
os.mkdir(self.outPath)
|
||||||
#os.chdir(self.outPath)
|
#os.chdir(self.outPath)
|
||||||
@@ -71,10 +71,10 @@ class bananaSPLITTER(QObject):
|
|||||||
self.saveSeparate()
|
self.saveSeparate()
|
||||||
if self.settings['saveBodyFile']:
|
if self.settings['saveBodyFile']:
|
||||||
self.saveBody()
|
self.saveBody()
|
||||||
self.log.info("L'elaborazione del file ha richiesto {:4.2f} sec".format(time.time()-self.beginTime))
|
self.log.info(tr("L'elaborazione del file ha richiesto {:4.2f} sec").format(time.time()-self.beginTime))
|
||||||
|
|
||||||
except UnicodeDecodeError as ee:
|
except UnicodeDecodeError as ee:
|
||||||
self.log.critical("Il file [{}] contiene caratteri non compatibili con la codifica scelta! [{}]"
|
self.log.critical(tr("Il file [{}] contiene caratteri non compatibili con la codifica scelta! [{}]")
|
||||||
.format(self.fileParams['name'],ee))
|
.format(self.fileParams['name'],ee))
|
||||||
except FileExistsError as fe:
|
except FileExistsError as fe:
|
||||||
self.log.critical(fe)
|
self.log.critical(fe)
|
||||||
@@ -86,12 +86,12 @@ class bananaSPLITTER(QObject):
|
|||||||
def openFile(self):
|
def openFile(self):
|
||||||
try:
|
try:
|
||||||
#os.chdir(self.paths["INworkPath"])
|
#os.chdir(self.paths["INworkPath"])
|
||||||
self.log.info("Carico il contenuto..")
|
self.log.info(tr("Carico il contenuto.."))
|
||||||
fp = open(self.paths["INworkPath"]+'/'+self.fileParams['name'], mode='r', encoding=self.settings['encoding'])
|
fp = open(self.paths["INworkPath"]+'/'+self.fileParams['name'], mode='r', encoding=self.settings['encoding'])
|
||||||
self.rawFile = fp.readlines()
|
self.rawFile = fp.readlines()
|
||||||
fp.close()
|
fp.close()
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
self.log.critical("Impossibile aprire il file: {}! [{}]".format(self.fileName,e))
|
self.log.critical(tr("Impossibile aprire il file: {}! [{}]").format(self.fileName,e))
|
||||||
raise BaseException("OpenFile")
|
raise BaseException("OpenFile")
|
||||||
os.rmdir(self.outPath)
|
os.rmdir(self.outPath)
|
||||||
except Exception as ee:
|
except Exception as ee:
|
||||||
@@ -99,7 +99,7 @@ class bananaSPLITTER(QObject):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def remEmptyLines(self):
|
def remEmptyLines(self):
|
||||||
self.log.info("Elimino righe vuote e caratteri inutili..")
|
self.log.info(tr("Elimino righe vuote e caratteri inutili.."))
|
||||||
tempContent = []
|
tempContent = []
|
||||||
try:
|
try:
|
||||||
for ll in self.rawFile:
|
for ll in self.rawFile:
|
||||||
@@ -111,12 +111,12 @@ class bananaSPLITTER(QObject):
|
|||||||
self.rawFile.append('\n') #linea vuota finale per essere sicuri di parsare bene
|
self.rawFile.append('\n') #linea vuota finale per essere sicuri di parsare bene
|
||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
self.log.error("Errore inaspettato durante l'eliminazione delle righe vuote!")
|
self.log.error(tr("Errore inaspettato durante l'eliminazione delle righe vuote!"))
|
||||||
raise BaseException("DelLines")
|
raise BaseException("DelLines")
|
||||||
del tempContent
|
del tempContent
|
||||||
|
|
||||||
def newSplitFile(self): #porting del codice dal programma originale
|
def newSplitFile(self): #porting del codice dal programma originale
|
||||||
self.log.info("Individuo il contenuto..")
|
self.log.info(tr("Individuo il contenuto.."))
|
||||||
self.bodyCounter=0
|
self.bodyCounter=0
|
||||||
self.duplicateNumber=0
|
self.duplicateNumber=0
|
||||||
docNumber = 0
|
docNumber = 0
|
||||||
@@ -142,7 +142,7 @@ class bananaSPLITTER(QObject):
|
|||||||
docDate['month']=self.docStruct['language']['dateWords'].index(docDate['month'])+1
|
docDate['month']=self.docStruct['language']['dateWords'].index(docDate['month'])+1
|
||||||
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
|
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
|
||||||
except:
|
except:
|
||||||
self.log.warn("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]". format(l.strip('\r\n')))
|
self.log.warn(tr("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]"). format(l.strip('\r\n')))
|
||||||
pass
|
pass
|
||||||
elif lineWords[0].upper() in self.docStruct['language']['headWords']:
|
elif lineWords[0].upper() in self.docStruct['language']['headWords']:
|
||||||
#cambio stato e inizializzo un nuovo documento da riempire
|
#cambio stato e inizializzo un nuovo documento da riempire
|
||||||
@@ -166,13 +166,13 @@ class bananaSPLITTER(QObject):
|
|||||||
else:
|
else:
|
||||||
newsPaperName = self.settings['nameNotFoundStr']
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
except:
|
except:
|
||||||
self.log.warn("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
|
self.log.warn(tr("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
|
||||||
controlla i file di uscita! [{}]".format(l.strip()))
|
controlla i file di uscita! [{}]").format(l.strip()))
|
||||||
else:
|
else:
|
||||||
newsPaperName = self.settings['nameNotFoundStr']
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
newsName = False
|
newsName = False
|
||||||
except IndexError:
|
except IndexError:
|
||||||
self.log.error("Errore inaspettato, contatta il tuo sviluppatore di fiducia!")
|
self.log.error(tr("Errore inaspettato, contatta il tuo sviluppatore di fiducia!"))
|
||||||
pass
|
pass
|
||||||
elif self.status == 'head':
|
elif self.status == 'head':
|
||||||
tempContent = list()
|
tempContent = list()
|
||||||
@@ -184,8 +184,8 @@ class bananaSPLITTER(QObject):
|
|||||||
#self.status = 'body'
|
#self.status = 'body'
|
||||||
elif self.status == 'body':
|
elif self.status == 'body':
|
||||||
if re.match(self.docStruct['endOfDocument'],l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
|
if re.match(self.docStruct['endOfDocument'],l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
|
||||||
self.log.warn("Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\
|
self.log.warn(tr("Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\
|
||||||
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t\t[{}]".format(docNumber, l.strip()))
|
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t\t[{}]").format(docNumber, l.strip()))
|
||||||
self.status = 'tail'
|
self.status = 'tail'
|
||||||
anomaly = True
|
anomaly = True
|
||||||
elif not lineWords[0].upper() in self.docStruct['language']['tailWords']: #se la prima parola non e' tra quelle di fine
|
elif not lineWords[0].upper() in self.docStruct['language']['tailWords']: #se la prima parola non e' tra quelle di fine
|
||||||
@@ -211,18 +211,18 @@ class bananaSPLITTER(QObject):
|
|||||||
self.bodyCounter +=1
|
self.bodyCounter +=1
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.log.critical("Stato Interno Sconosciuto")
|
self.log.critical(tr("Stato Interno Sconosciuto"))
|
||||||
prevLine=l #salva sempre e comunque il contenuto della linea precedente
|
prevLine=l #salva sempre e comunque il contenuto della linea precedente
|
||||||
pass
|
pass
|
||||||
#ricerca terminata, espongo i risultati
|
#ricerca terminata, espongo i risultati
|
||||||
self.log.info("Nel file ho trovato {0} articoli..".format(self.bodyCounter))
|
self.log.info(tr("Nel file ho trovato {0} articoli..").format(self.bodyCounter))
|
||||||
if docSkipped > 0:
|
if docSkipped > 0:
|
||||||
self.log.warn("Attentione, LexisNexis ne ha saltati {} !!!".format(docSkipped))
|
self.log.warn(tr("Attentione, LexisNexis ne ha saltati {} !!!").format(docSkipped))
|
||||||
pass
|
pass
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def splitFile(self): #porting del codice dal programma originale
|
def splitFile(self): #porting del codice dal programma originale
|
||||||
self.log.info("Individuo il contenuto..")
|
self.log.info(tr("Individuo il contenuto.."))
|
||||||
self.bodyCounter=0
|
self.bodyCounter=0
|
||||||
self.duplicateNumber=0
|
self.duplicateNumber=0
|
||||||
docNumber = 0
|
docNumber = 0
|
||||||
@@ -246,7 +246,7 @@ class bananaSPLITTER(QObject):
|
|||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
if self.settings["showSkipped"]:
|
if self.settings["showSkipped"]:
|
||||||
self.log.warn("Il conto dei documenti non torna! LexisNexis ne ha saltato qualcuno!\n Precedente:{0}-Attuale:{1}".format(docNumber,nn["current"]))
|
self.log.warn(tr("Il conto dei documenti non torna! LexisNexis ne ha saltato qualcuno!\n Precedente:{0}-Attuale:{1}").format(docNumber,nn["current"]))
|
||||||
docSkipped+=1
|
docSkipped+=1
|
||||||
docNumber = nn["current"]
|
docNumber = nn["current"]
|
||||||
except:
|
except:
|
||||||
@@ -267,12 +267,12 @@ class bananaSPLITTER(QObject):
|
|||||||
else:
|
else:
|
||||||
newsPaperName = self.settings['nameNotFoundStr']
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
except:
|
except:
|
||||||
self.log.warn("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
|
self.log.warn(tr("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
|
||||||
controlla i file di uscita! [{}]".format(prevLine.strip()))
|
controlla i file di uscita! [{}]").format(prevLine.strip()))
|
||||||
else:
|
else:
|
||||||
newsPaperName = self.settings['nameNotFoundStr']
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
except:
|
except:
|
||||||
self.log.warn("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]". format(l.strip('\r\n')))
|
self.log.warn(tr("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]").format(l.strip('\r\n')))
|
||||||
pass
|
pass
|
||||||
elif lineWords[0] in self.docStruct['language']['headWords']:
|
elif lineWords[0] in self.docStruct['language']['headWords']:
|
||||||
#cambio stato e inizializzo un nuovo documento da riempire
|
#cambio stato e inizializzo un nuovo documento da riempire
|
||||||
@@ -286,7 +286,7 @@ class bananaSPLITTER(QObject):
|
|||||||
if titleBegin:
|
if titleBegin:
|
||||||
title += l.strip().capitalize()
|
title += l.strip().capitalize()
|
||||||
except IndexError:
|
except IndexError:
|
||||||
self.log.error("Errore inaspettato, contatta il tuo sviluppatore di fiducia!")
|
self.log.error(tr("Errore inaspettato, contatta il tuo sviluppatore di fiducia!"))
|
||||||
pass
|
pass
|
||||||
elif self.status == 'head':
|
elif self.status == 'head':
|
||||||
tempContent = list()
|
tempContent = list()
|
||||||
@@ -304,8 +304,8 @@ class bananaSPLITTER(QObject):
|
|||||||
self.status = 'tail'
|
self.status = 'tail'
|
||||||
anomaly = False
|
anomaly = False
|
||||||
if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
|
if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
|
||||||
self.log.warn("Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\
|
self.log.warn(tr("Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\
|
||||||
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t[{}]".format(docNumber, l.strip()))
|
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t[{}]").format(docNumber, l.strip()))
|
||||||
self.status = 'tail'
|
self.status = 'tail'
|
||||||
anomaly = True
|
anomaly = True
|
||||||
pass
|
pass
|
||||||
@@ -321,13 +321,13 @@ class bananaSPLITTER(QObject):
|
|||||||
self.bodyCounter +=1
|
self.bodyCounter +=1
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.log.critical("Stato Interno Sconosciuto")
|
self.log.critical(tr("Stato Interno Sconosciuto"))
|
||||||
prevLine=l #salva sempre e comunque il contenuto della linea precedente
|
prevLine=l #salva sempre e comunque il contenuto della linea precedente
|
||||||
pass
|
pass
|
||||||
#ricerca terminata, espongo i risultati
|
#ricerca terminata, espongo i risultati
|
||||||
self.log.info("Nel file ho trovato {0} articoli..".format(self.bodyCounter))
|
self.log.info(tr("Nel file ho trovato {0} articoli..").format(self.bodyCounter))
|
||||||
if docSkipped > 0:
|
if docSkipped > 0:
|
||||||
self.log.warn("Attentione, LexisNexis ne ha saltati {} !!!".format(docSkipped))
|
self.log.warn(tr("Attentione, LexisNexis ne ha saltati {} !!!").format(docSkipped))
|
||||||
pass
|
pass
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -344,18 +344,18 @@ class bananaSPLITTER(QObject):
|
|||||||
if ff['title'] not in duplicateList:
|
if ff['title'] not in duplicateList:
|
||||||
duplicateList.append(ff['title'])
|
duplicateList.append(ff['title'])
|
||||||
if self.settings['showRemovedDuplicates']:
|
if self.settings['showRemovedDuplicates']:
|
||||||
self.log.info("Duplicato: {}".format(ff['title'].strip()))
|
self.log.info(tr("Duplicato: {}").format(ff['title'].strip()))
|
||||||
ff['duplicate'] = True
|
ff['duplicate'] = True
|
||||||
self.contentList[idx]=ff
|
self.contentList[idx]=ff
|
||||||
self.duplicateNumber+=1
|
self.duplicateNumber+=1
|
||||||
self.log.info("Ho rimosso {} duplicati di {} articoli..". format(self.duplicateNumber, len(duplicateList)))
|
self.log.info(tr("Ho rimosso {} duplicati di {} articoli..").format(self.duplicateNumber, len(duplicateList)))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def saveSeparate(self):
|
def saveSeparate(self):
|
||||||
outFileCounter = 0
|
outFileCounter = 0
|
||||||
self.paths['OUTworkPath']=self.paths['OUTworkPath']+slugify(self.fileName)
|
self.paths['OUTworkPath']=self.paths['OUTworkPath']+slugify(self.fileName)
|
||||||
self.log.info("Salvo gli articoli in file separati...")
|
self.log.info(tr("Salvo gli articoli in file separati..."))
|
||||||
self.log.debug("Persorso: {0}".format(self.outPath))
|
self.log.debug(tr("Persorso: {0}").format(self.outPath))
|
||||||
for ff in self.contentList:
|
for ff in self.contentList:
|
||||||
try:
|
try:
|
||||||
if ff['duplicate'] == False:
|
if ff['duplicate'] == False:
|
||||||
@@ -371,20 +371,20 @@ class bananaSPLITTER(QObject):
|
|||||||
out.close()
|
out.close()
|
||||||
outFileCounter+=1
|
outFileCounter+=1
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
self.log.error("Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
|
self.log.error(tr("Qualcosa e\' andato storto, non riesco a scrivere il file: {}").format(e))
|
||||||
continue
|
continue
|
||||||
except KeyError as ke:
|
except KeyError as ke:
|
||||||
self.log.error(f"Chiave {ke} non trovata per:{outFileCounter} {ff['title']} ")
|
self.log.error(tr(f"Chiave {ke} non trovata per:{outFileCounter} {ff['title']} "))
|
||||||
except Exception as ee:
|
except Exception as ee:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
self.log.error(f"Errore generale nel salvataggio: {ee}")
|
self.log.error(tr(f"Errore generale nel salvataggio: {ee}"))
|
||||||
if outFileCounter < self.bodyCounter:
|
if outFileCounter < self.bodyCounter:
|
||||||
self.log.error("Ho salvato meno file rispetto a quelli trovati!")
|
self.log.error(tr("Ho salvato meno file rispetto a quelli trovati!"))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def saveBody(self):
|
def saveBody(self):
|
||||||
self.log.info('Salvo gli articoli in un singolo file vicino agli originali...')
|
self.log.info(tr('Salvo gli articoli in un singolo file vicino agli originali...'))
|
||||||
self.log.debug('Persorso: {0}'.format(self.outPath))
|
self.log.debug(tr('Persorso: {0}').format(self.outPath))
|
||||||
#os.chdir(self.outPath)
|
#os.chdir(self.outPath)
|
||||||
try:
|
try:
|
||||||
fName=slugify(self.fileName)
|
fName=slugify(self.fileName)
|
||||||
@@ -394,9 +394,9 @@ class bananaSPLITTER(QObject):
|
|||||||
out.write(fileContent.encode(self.settings['encoding']))
|
out.write(fileContent.encode(self.settings['encoding']))
|
||||||
out.close()
|
out.close()
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
self.log.error("Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
|
self.log.error(tr("Qualcosa e\' andato storto, non riesco a scrivere il file: {}").format(e))
|
||||||
except Exception as ee:
|
except Exception as ee:
|
||||||
self.log.error(f"Errore generale nel salvataggio: {ee}")
|
self.log.error(tr(f"Errore generale nel salvataggio: {ee}"))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user