208 Commits

Author SHA1 Message Date
cfee770312 rimergio 2020-10-23 13:53:30 +02:00
1d9154e391 Merge branch 'code-gui-devel' of https://git.etss.it/12Parsec/bananaSPLIT into code-gui-devel 2020-10-23 13:53:05 +02:00
cac621d554 cambiato fon in Rockwell 2020-10-23 13:50:09 +02:00
9aea2e2814 fixato nome file linux 2020-10-22 23:27:11 +02:00
4eaa413fb7 aggiunto buildfile per linux 2020-10-22 23:24:30 +02:00
549b245d35 eliminata cartella sbagliata userinterface 2020-10-22 22:59:09 +02:00
76046ef593 aggiornate dipendenze 2020-10-22 22:57:43 +02:00
9dc91a846c aggiornate dipendenze 2020-10-22 21:44:10 +02:00
9fa783603c spostato pyinstaller in dev dependencies 2020-10-22 16:59:29 +02:00
c37fd42b6a aggiunto script per exe windows 2020-10-22 16:58:27 +02:00
8e6abc4e0e ricompilate interfacce, verifica script in vscode 2020-10-22 15:10:56 +02:00
24fdaed8d9 spostatui script in virtualenv 2020-10-22 15:05:49 +02:00
8a9ce0dc9f eliminati pass inutili 2020-10-12 16:03:47 +02:00
16ab928383 corretti problemi di pylint
c'e' da renderlo meno rompicoglioni
2020-10-12 16:00:20 +02:00
e195ea5532 parte ma gli import continuano e non essere risolti 2020-10-12 12:48:45 +02:00
5629cc57f3 aggiunto .env 2020-09-10 16:23:00 +02:00
d5cf9cba56 modificate librerie in moduli 2020-09-10 16:03:09 +02:00
cf8c4893ff cambionome 2020-09-10 15:23:20 +02:00
6f634c6a09 tolti test, aggiornato gitignore 2020-09-10 12:53:06 +02:00
b603581e4f spostato il progetto in spex per usare poetry 2020-09-10 12:35:31 +02:00
69be5ca9de primo port su vscode 2020-09-10 12:20:20 +02:00
3fb055a3a3 inizio port su vscode 2020-09-10 11:58:28 +02:00
emanuele
d3c0925183 Rilascio v1.41_Linux64 2020-04-21 17:02:13 +02:00
e43a757d8c Rilascio v1.41_Win64 2020-04-21 16:56:02 +02:00
c7028163fb aggiornati spec per build 2020-04-21 16:28:27 +02:00
a6a2fde875 correzioni ad about per far vedere la versione 2020-04-21 16:25:59 +02:00
6332db4b1f Rilascio Versione 1.41 2020-04-21 16:16:35 +02:00
535bb9d4e9 dovrebbe essere pronta la versione con le traduzioni funzionanti 2020-04-21 16:14:30 +02:00
ce5495fce4 generati tutti i file di traduzione 2020-04-21 15:51:38 +02:00
9d3f5c831c ricostruite le traduzioni python 2020-04-21 15:49:02 +02:00
265d2ab3b4 ricompilate interfacce e risorse 2020-04-21 15:29:33 +02:00
f7b77db942 corretto errore per cui non importava tutte le traduzioni 2020-04-21 15:29:15 +02:00
ac168d1e10 ricostruite traduzioni 2020-04-13 20:15:56 +02:00
878f526fde qualquadra ancora non cosa, risolvibile 2020-04-13 20:15:43 +02:00
4351889aae integrazione con traduzione 2020-04-13 20:00:05 +02:00
38461fbe33 rilasciate traduzioni 2020-04-13 18:29:50 +02:00
f1b4fa0ab3 Sistemato pulsante avanzate titolo come da conversazione wa 2020-04-13 16:47:59 +02:00
b08b7912ef Modificato leggermente sezione "about" in italiano (da decidere insieme
se va bene)
2020-04-13 16:47:38 +02:00
314a5de4dd Sistemato traduzioni su indicazioni trabbo (gruppo wa) 2020-04-13 16:46:56 +02:00
1c7e3dd29b Rivisto traduzioni e sistemato qualche typo 2020-04-13 15:53:46 +02:00
3643778d53 generati fil qm delle prime traduzioni 2020-04-10 17:38:43 +02:00
fbeeba2685 Fatto prime traduzioni, ci sono alcuni punti da rivedere 2020-04-10 16:12:12 +02:00
d0196ff10c levata roba inutile 2020-04-10 12:22:42 +02:00
b35a471b75 aggiornati script anche per tradurre messaggi python 2020-04-10 12:19:34 +02:00
525b0b60ae script per traduzione interfacce + generati file traduzione 2020-04-10 12:00:46 +02:00
05fdd158c9 cambiato script compilazine risorse 2020-04-10 11:23:48 +02:00
4df965745b aggiunta cartella script 2020-04-10 11:13:52 +02:00
96684996bc tr anche sui fle di libreria 2020-04-09 14:23:08 +02:00
606571de2c tr su tutto guimain 2020-04-09 14:11:22 +02:00
518b1441e8 inizio lavoro per traduzione interfacce e messaggi di debug
cosa lunghissima
2020-04-07 15:42:51 +02:00
9eab141909 modifiche compilatore interfaccia 2020-04-07 15:05:45 +02:00
01e16f62db ricostruito file risorse e ricompilate interfacce 2020-04-07 15:00:01 +02:00
2444de7816 nuova riorganizzazione file 2020-04-07 14:51:03 +02:00
cbd4432596 primo tentativo di traduzione 2020-04-07 14:47:43 +02:00
40df527f3a riorganizzazione dei file 2020-04-07 14:47:29 +02:00
0977d72506 aggiunte icone e finestra about, testo da integrare 2020-04-07 12:46:16 +02:00
emanuele
223e7cd9e1 rilascio versione 1.3b Linux 2020-04-03 10:56:43 +02:00
emanuele
3352b47dc7 aggiornato gitignore 2020-04-03 10:54:16 +02:00
38c12a27fa rilascio versione 1.3b Windows 2020-04-03 10:44:14 +02:00
ca32e12f43 aggiornato pydevproject 2020-04-03 10:40:56 +02:00
f47282bb29 corretto problema versione file e ricompilate interfacce 2020-04-03 10:40:18 +02:00
b83e978303 corrette ancora configurazione 2020-04-02 18:56:59 +02:00
a43d6c172f corretto file configurazione linux 2020-04-02 18:54:41 +02:00
emanuele
94b7ab59d5 buildata versione 1.3 per linux 2020-04-02 18:37:20 +02:00
emanuele
1cd4490275 pulite cartelle tuxbuild 2020-04-02 18:34:49 +02:00
18597dfbbf Compilata versione 1.3 pronta alla release 2020-04-02 18:28:55 +02:00
7ffce8cdfd Merge branch 'gui-devel' of https://git.etss.it/12Parsec/bananaSPLIT.git into gui-devel 2020-04-02 18:26:29 +02:00
7237a8be40 versione definitiva interfaccia, pronta per buildare i pacchetti 2020-04-02 18:26:06 +02:00
emanuele
b3cc5689aa ricompilato eseguible linux 2020-04-02 17:38:33 +02:00
0e1697d98b ridotto ancora 2020-04-02 17:34:53 +02:00
6d6e3aa7c5 provo a ridurre dimensioni verticali interfaccia 2020-04-02 17:32:13 +02:00
emanuele
6314efb5f5 corretto linux builfile 2020-04-02 17:30:45 +02:00
emanuele
4884f2659e Merge branch 'gui-devel' of https://git.etss.it/12Parsec/bananaSPLIT.git into gui-devel 2020-04-02 16:51:14 +02:00
emanuele
029860f2f2 ricompilato eseguibile linux 2020-04-02 16:51:00 +02:00
140e24edce ricompilato .exe 2020-04-02 15:45:43 +02:00
6eed7b25df eliminata icona sbagliata 2020-04-02 15:43:57 +02:00
emanuele
e000b438ec corretto path di uscita 2020-04-02 15:40:40 +02:00
200565e4c7 non va bene tenere nella stessa cartella le build win e linux mannaggina 2020-04-02 15:17:50 +02:00
emanuele
e994e3850c buildfiles per linux 2020-04-02 15:11:03 +02:00
e1ac0f05a0 cosine 2020-04-02 14:39:45 +02:00
7eb7c0f4a4 aggiunti i file buildati come exe unico 2020-04-01 16:10:18 +02:00
45cb777024 i build tools funzionano! 2020-04-01 16:08:15 +02:00
c149d97e8b corretti livelli debug 2020-04-01 14:56:12 +02:00
fbf8719591 spaziate giuste le cose 2020-04-01 14:52:36 +02:00
44f358a08b finestra dei messaggi attiva con il log 2020-04-01 14:49:44 +02:00
ca21aa3d44 cose 2020-04-01 13:15:31 +02:00
31accbd0b8 correzioni interfaccia 2020-04-01 12:27:07 +02:00
d2c77e4da3 elimate configurazioni farlocche 2020-04-01 12:13:23 +02:00
00ed797b24 ricompilate interfacce titolo 2020-04-01 12:07:15 +02:00
186ce10a3e opzioni avanzate globali funzionanti 2020-04-01 12:06:58 +02:00
187df248dd integrate la finestra opzioni avanzate 2020-03-31 12:48:00 +02:00
0cf019be47 sostituita finestra opzioni avanzate 2020-03-31 12:36:40 +02:00
cbc097a4d2 marcata release 1.2 2020-03-31 12:28:51 +02:00
2f95c01a78 ricompilate interfacce 2020-03-31 12:27:19 +02:00
8ace2fb17d tutte le finestre hanno le icone al loro posto 2020-03-31 12:27:06 +02:00
5fad4be476 aggiunti file di risorse e icone 2020-03-31 11:54:12 +02:00
14590b511f modifica file configurazione default 2020-03-31 11:53:24 +02:00
038b838c04 aggiornato gitignore 2020-03-31 11:53:12 +02:00
07641d702c prima versione funzionante con i file nuovi
corretto errore unicode, rimosso body dal contenuto del file, potrebbe
rimanere il problema della chiave 'year'
2020-03-30 18:12:53 +02:00
65bb3a925d aggiornato .gitignore per escludere build 2020-03-30 17:30:08 +02:00
174a8f7e9c errore unicode 2020-03-30 17:25:12 +02:00
3978569e35 prima versione funzionante con il nuovo tipo di file!! yuppi! 2020-03-30 16:15:59 +02:00
955ac56e34 porca mucca! era solo una lettera accentata nel commento di python che
mandava in crisi l'interprete!!!!
2020-03-30 15:08:19 +02:00
6d43c564b8 non riesco a provare le modifiche, il debugger di python mi prende per
il culo
2020-03-30 14:52:09 +02:00
989aa755dd ricompilate interfacce 2020-03-30 13:17:08 +02:00
5725c14b83 selezione della versione del file, filtraggio tipo per txt 2020-03-30 13:16:56 +02:00
83f3a1f629 prima della prima prova della nuova versione 2020-03-30 13:01:32 +02:00
33fd392725 prima della prima prova per la nuova versione 2020-03-30 13:01:12 +02:00
af7e783f35 prima versione per parsare il nuovo file 2020-03-30 12:39:03 +02:00
9cc01bd911 aggiunto convertitore di docx 2020-03-30 12:25:14 +02:00
3e9088389b piccola modifica interfaccia 2020-03-27 16:47:33 +01:00
397c631c2a cosine 2020-03-27 16:47:17 +01:00
0093026d49 funziona con i runnable che non sono dei veri thread ma vanno bene lo
stesso


unico problema e' che non si possono inviare i segnali dai runnable, ci
devo guardare
2020-03-25 17:42:21 +01:00
bd6b6421ec funziona senza os.chdir 2020-03-25 16:35:33 +01:00
232108a6f4 forse tolti tutti i os.chdir 2020-03-25 16:28:07 +01:00
a2400ccdbc 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
2020-03-25 16:20:02 +01:00
d9bea99092 FUNZIONAAAAAAAAAA!!!!! 2020-03-25 15:18:51 +01:00
d06cb0c7c4 cose 2020-03-25 12:30:15 +01:00
8f1a67c608 fixati bug minori
pronto per il test.. ma dopo pranzo
2020-03-25 12:30:02 +01:00
61aac1e364 continua la costruzione per la chiamata dei thread 2020-03-25 12:06:55 +01:00
f65fa21400 rinominata variabile 2020-03-25 12:03:55 +01:00
4351e10984 correzione dello splitter per nuovo file di configurazione 2020-03-25 11:08:16 +01:00
62f9dbe598 aggiunta costruzione della configurazione per splitter 2020-03-25 11:05:38 +01:00
b596f37cc3 cosa in prepareazione a integrazione dello splitter 2020-03-23 16:28:25 +01:00
6013eaab38 splitter e' diventato un QThread per mandare messaggi all'esterno 2020-03-23 11:29:40 +01:00
f0c012bbf0 riempimento e salvataggio interfaccia selezione uscita 2020-03-23 10:39:54 +01:00
dbeb119c65 corretto il buggone di titolo avanzate
non salvava le impostazioni perche' inizializzavo due volte la finestra
delle avanzate e venivano prese le impostazioni solo di quella che non
veniva usata
2020-03-23 10:09:14 +01:00
09f86c94be permane il bug per cui dalle avanzate titolo non posso salvare
potrebbe essere il fatto che passa la classe di configurazione non per
puntatore ma per copia
2020-03-08 16:10:43 +01:00
3f3875faf3 sistemazioni interfaccia, compilazione lista dei file automatica 2020-03-08 15:36:27 +01:00
40b9978933 fixate cose 2020-03-08 15:25:23 +01:00
0047f766bf self.conf chiamato senza usare c=self.conf, provoca comportamenti strani 2020-03-08 15:13:45 +01:00
986e50afdb ricompilato interfacce di nuovo 2020-03-08 15:01:51 +01:00
2b646befac ricompilata interfaccia outfile 2020-03-08 14:57:23 +01:00
18959b4087 rimosse vecchie configurazioni 2020-03-08 14:33:11 +01:00
6e6f91f50a aggiornato gitignore
esclude i file di configurazione di test dai commit
2020-03-08 14:24:53 +01:00
9ec74ff4bd cose cambiate in interfaccia e main 2020-03-08 14:23:33 +01:00
37cf77c160 eliminati file configurazone di test 2020-03-08 14:23:15 +01:00
9c04b5d943 spostati i file di configurazione, da fare la gestione finestra di
output per scegliere la lingua
2020-03-03 17:41:28 +01:00
25747c0a94 risolto bug preset, forse 2020-03-03 17:29:44 +01:00
6c03df4f67 quasi fixato bug del salvapreset 2020-03-03 17:22:58 +01:00
05b794029c cose con i file di configurazione, non funziona bene la scrittura 2020-03-02 19:17:47 +01:00
dcb5f631b0 funzzioni fill interface per ricaricare quando si apre un preset 2020-03-02 18:56:53 +01:00
e8c7accf55 interfacce aggiornate e ricompilate 2020-02-29 18:12:01 +01:00
41ee3c3094 riempi interfaccia da file parte seconda 2020-02-29 18:11:45 +01:00
67aaf33db0 caricameto defaults da inerfaccia, parte prima 2020-02-29 16:35:02 +01:00
95594674f3 rimoddo asdf 2020-01-25 19:10:45 +01:00
869a308bad modifica ai check delle impostazioni avanzate e ricompilata interfaccia 2020-01-25 19:02:53 +01:00
89de6124c8 fottiti 2020-01-25 18:17:52 +01:00
566853c61a aggiornato gitignore del codice 2020-01-25 18:17:43 +01:00
50543f4076 aggiornato gitignore 2020-01-25 18:16:47 +01:00
93d598fef8 fixato crash su modifica cartella destinazione 2020-01-25 18:13:23 +01:00
1d37cdd89d ricompilate interfacce con modifiche varie 2020-01-25 18:13:04 +01:00
f002301707 cambiati import librerie slugify 2020-01-25 17:42:45 +01:00
c14f2dc4c9 collegamenti tra finestra titolo e avanzate titolo, cambiamenti nel file
configurazione per memorizzare le scelete delle finestre in modo
semplice
2020-01-02 17:42:11 +01:00
19615367ea ricompilate interafcce 2020-01-02 16:45:47 +01:00
104f8e4f7b aggiunti prefisso e suffisso alle avanzatenome 2020-01-02 16:45:28 +01:00
066ca83b7f aggiunto try per parametro non valido 2020-01-02 15:50:10 +01:00
ada142809c i file del commit prima.. (FACEPALM) 2019-12-18 22:14:06 +01:00
5aed922e77 salvataggio della configurazione corrente sullo stesso o un altro file 2019-12-18 22:13:41 +01:00
22f1e8c967 rinominati file configurazione 2019-12-18 21:29:48 +01:00
00cb8059cb modificato file di configurazione, aggiunto uno separato per le parole
chiave della lingua specifica
2019-12-18 21:27:48 +01:00
c6b5d7d8a5 riempie i nomi cartelle sorgente e destinazione 2019-12-18 21:19:20 +01:00
21f869ccd0 modifica selezione cartelle selezione sorgente e destinazione 2019-12-18 21:14:44 +01:00
b2d3a03da8 lettura e settaggio dei parametri in modo ricorsivo funzionante 2019-12-18 21:00:15 +01:00
705a6ce85c seguono modifiche al main per test parametri nuovo file di
configurazione
2019-12-18 19:43:46 +01:00
12501c4edc ripensamenti sui file di configurazione, il logger legge un file
separato
2019-12-18 19:35:24 +01:00
fd9434868f modificato il getParam ma non mi viene in mente un modo furbo per fare
il set, ricorsivita' sul dizionario?
2019-12-16 22:47:59 +01:00
fdfb7bf377 ricompilate interfacce (si,ancora) 2019-12-16 21:40:37 +01:00
43f8568904 risistemato caricamento interfacce (si, ancora) 2019-12-16 21:40:21 +01:00
8564bdd723 ricompilazione interfacce con alcuni cambiamenti ai nomi delle finestre 2019-12-16 21:28:15 +01:00
3396ee0a07 sistemato il caricamento delle interfacce che servono 2019-12-16 21:27:49 +01:00
da6c84e87f prima integrazione nuove interfacce, non ho capito bene come collegarle
a quella principale
2019-12-15 22:27:47 +01:00
d25bf776ac mannaggia quanti file nuovi da compilare!
comunque compilato tutto a posto, il pasticcio dei commit si e' risolto
2019-12-14 17:20:49 +01:00
e0ce388da9 aggiornato .gitignore 2019-12-14 17:20:40 +01:00
5bb6a12a06 ahahahahahah (Niccolò). Creato pagina opzioni avanzate per rendere
predefiniti tutti i valori. Bisognerebbe sistemare il layout, ma non
siamo molto buoni.
2019-12-14 15:56:29 +01:00
c3704ad6bd Versione 3 della finestra avanzate titolo (Giulia). Rimettiamo a te la
scelta.
2019-12-14 15:55:27 +01:00
cc16f00a80 Versione 2 della finestra avanzate titolo (Niccolò). 2019-12-14 15:54:50 +01:00
d724fcbfd6 Modificato nomi bottoni ok annulla. 2019-12-14 15:54:24 +01:00
07777f2a11 Nominato i bottoni rad. 2019-12-14 15:54:04 +01:00
7becc034ef Aggiunto opzione selezione lingua articoli. 2019-12-14 15:53:36 +01:00
158a427658 Tolto opzione di rendere predefinite le cartelle (messe da un'altra
parte, vedi sotto). Aggiunto tendina opzioni avanzate.
2019-12-14 15:53:10 +01:00
a85c99b51e sistemato gitignore secondo tue indicazioni telefoniche. 2019-12-14 15:52:14 +01:00
608886d706 primo commit dal merge, aggiunti i file di progetto altrimenti si
dimentica gli import
2019-12-13 16:34:00 +01:00
d2096976fb merge con il brance lib-devel 2019-12-13 16:20:34 +01:00
a6aeee5d89 modifiche interfaccia + dialoghi per selezione cartelle, pronto per il
merge
2019-12-13 16:11:38 +01:00
86e5dcc135 correzioni finestra titolo 2019-12-01 16:10:26 +01:00
6f96797190 genera interfaccia e passa le tab con avanti e indietro 2019-12-01 16:10:09 +01:00
a0ff77ff33 costruisce interfaccia + correzione nomi bottoni 2019-12-01 15:41:30 +01:00
9425262e7a Prima generazione interfaccia con i moduli 2019-12-01 15:30:38 +01:00
94f289a6e2 non risolve gli import di interfaccia 2019-12-01 14:52:43 +01:00
1880d5bb7e modifiche a nomi e layout interfacce + ricompilazione 2019-12-01 14:43:40 +01:00
8eedd2ac4b ricompilato con nuova destinazione 2019-12-01 14:28:01 +01:00
9a7477a23e eliminate interfacce compilate con vecchia dir 2019-12-01 14:25:39 +01:00
08240b63d8 modifiche allo script compilazione interfacce piu' cose gia' compilate
per i primi test
2019-11-24 18:45:59 +01:00
2a0695f78c Aggiunto tool per la compilazione delle interfacce 2019-11-24 18:32:59 +01:00
59f3e2d6b3 modifiche finestra main, ogni pagina diventa una tab 2019-11-24 16:47:15 +01:00
Giulia
da0eb61e2d inizio pagina avanzate per ordine nome file 2019-11-24 15:11:35 +01:00
ff9f85ad0b Merge branch 'gui-devel' of https://git.etss.it/12Parsec/bananaSPLIT.git into gui-devel 2019-11-10 20:03:45 +01:00
fd8ea3edc9 Corretto import interfaccia 2019-11-10 20:03:37 +01:00
9e62197eba sistemato dettagli opzioni 2019-11-10 14:16:24 +01:00
e3934c06d1 sistemato layout 2019-11-10 14:10:20 +01:00
Giulia
16b4b307a9 Aggiunto scelta separatore parti nome file 2019-11-06 13:45:17 +01:00
Giulia
4d63c83278 Sistemato caratteri e diciture 2019-11-06 13:28:23 +01:00
Giulia
23bcc4de1e Finestra impostazione titolo 2019-11-03 10:41:21 +01:00
Giulia
207651bd5d Spostato pulsante avanti e opzioni 2019-11-03 10:01:39 +01:00
07810fe569 Aggiunto nuovo main per lancio gui e versione compilata interfacce 2019-11-02 19:29:10 +01:00
f9551b34aa Aggiunto file spec a gitignore 2019-11-02 19:07:58 +01:00
13b2d72be1 Modifiche interfaccia
Il tipo della finestra principale rimane mainWindow ma e' divisa in due
widget, quello sopra cambia a seconda del contesto mentre in quello
sotto rimane il log delle attivita' in corso
tutte le nuove viste che si vogliono aggiungere dovranno essere del tipo
QWidget
2019-11-02 19:05:49 +01:00
103 changed files with 51283 additions and 16787 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

12
.gitignore vendored
View File

@@ -1,6 +1,6 @@
/.DS_Store SPEx/bin
/.project *.spec
/.pydevproject TestFiles
/org.eclipse.core.resources.prefs __pycache__
bananaSPLIT/build .vscode
/TestFiles/ .venv

View File

@@ -1 +0,0 @@
/org.eclipse.core.resources.prefs

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

69
SPEx/conf/defaults.json Normal file
View File

@@ -0,0 +1,69 @@
{
"version": "v1.41",
"paths": {
"lastUsed": "defaults.json",
"configurationPath": "./conf/",
"INworkPath": "C://",
"OUTworkPath": "C://",
"fileList": [
]
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"uiLang": "en",
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,76 @@
{
"Italiano": {
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"English": {
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
}
}

67
SPEx/conf/linux.json Normal file
View File

@@ -0,0 +1,67 @@
{
"version": "v1.3",
"paths": {
"lastUsed": "linux.json",
"configurationPath": "./conf/",
"INworkPath": "/home/",
"OUTworkPath": "/home/",
"fileList": []
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,5 @@
{
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
}

498
SPEx/poetry.lock generated Normal file
View File

@@ -0,0 +1,498 @@
[[package]]
name = "altgraph"
version = "0.17"
description = "Python graph (network) package"
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "astroid"
version = "2.4.2"
description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false
python-versions = ">=3.5"
[package.dependencies]
lazy-object-proxy = ">=1.4.0,<1.5.0"
six = ">=1.12,<2.0"
wrapt = ">=1.11,<2.0"
[[package]]
name = "atomicwrites"
version = "1.4.0"
description = "Atomic file writes."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "attrs"
version = "20.2.0"
description = "Classes Without Boilerplate"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras]
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "sphinx-rtd-theme", "pre-commit"]
docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"]
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
[[package]]
name = "autopep8"
version = "1.5.4"
description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"
category = "dev"
optional = false
python-versions = "*"
[package.dependencies]
pycodestyle = ">=2.6.0"
toml = "*"
[[package]]
name = "colorama"
version = "0.4.4"
description = "Cross-platform colored terminal text."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[[package]]
name = "future"
version = "0.18.2"
description = "Clean single-source support for Python 3 and 2"
category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "isort"
version = "5.6.4"
description = "A Python utility / library to sort Python imports."
category = "dev"
optional = false
python-versions = ">=3.6,<4.0"
[package.extras]
pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
requirements_deprecated_finder = ["pipreqs", "pip-api"]
colors = ["colorama (>=0.4.3,<0.5.0)"]
[[package]]
name = "lazy-object-proxy"
version = "1.4.3"
description = "A fast and thorough lazy object proxy."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "macholib"
version = "1.14"
description = "Mach-O header analysis and editing"
category = "dev"
optional = false
python-versions = "*"
[package.dependencies]
altgraph = ">=0.15"
[[package]]
name = "mccabe"
version = "0.6.1"
description = "McCabe checker, plugin for flake8"
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "more-itertools"
version = "8.5.0"
description = "More routines for operating on iterables, beyond itertools"
category = "dev"
optional = false
python-versions = ">=3.5"
[[package]]
name = "packaging"
version = "20.4"
description = "Core utilities for Python packages"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.dependencies]
pyparsing = ">=2.0.2"
six = "*"
[[package]]
name = "parse"
version = "1.18.0"
description = "parse() is the opposite of format()"
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "pefile"
version = "2019.4.18"
description = "Python PE parsing module"
category = "dev"
optional = false
python-versions = "*"
[package.dependencies]
future = "*"
[[package]]
name = "pluggy"
version = "0.13.1"
description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras]
dev = ["pre-commit", "tox"]
[[package]]
name = "py"
version = "1.9.0"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pycodestyle"
version = "2.6.0"
description = "Python style guide checker"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pyinstaller"
version = "4.0"
description = "PyInstaller bundles a Python application and all its dependencies into a single package."
category = "dev"
optional = false
python-versions = "*"
[package.dependencies]
altgraph = "*"
macholib = {version = ">=1.8", markers = "sys_platform == \"darwin\""}
pefile = {version = ">=2017.8.1", markers = "sys_platform == \"win32\""}
pyinstaller-hooks-contrib = ">=2020.6"
pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""}
[package.extras]
encryption = ["tinyaes (>=1.0.0)"]
hook_testing = ["pytest (>=2.7.3)", "execnet (>=1.5.0)", "psutil"]
[[package]]
name = "pyinstaller-hooks-contrib"
version = "2020.9"
description = "Community maintained hooks for PyInstaller"
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "pylint"
version = "2.6.0"
description = "python code static checker"
category = "dev"
optional = false
python-versions = ">=3.5.*"
[package.dependencies]
astroid = ">=2.4.0,<=2.5"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
isort = ">=4.2.5,<6"
mccabe = ">=0.6,<0.7"
toml = ">=0.7.1"
[[package]]
name = "pyparsing"
version = "2.4.7"
description = "Python parsing module"
category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pyqt5"
version = "5.15.1"
description = "Python bindings for the Qt cross platform application toolkit"
category = "main"
optional = false
python-versions = ">=3.5"
[package.dependencies]
PyQt5-sip = ">=12.8,<13"
[[package]]
name = "pyqt5-sip"
version = "12.8.1"
description = "The sip module support for PyQt5"
category = "main"
optional = false
python-versions = ">=3.5"
[[package]]
name = "pytest"
version = "5.4.3"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
python-versions = ">=3.5"
[package.dependencies]
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
attrs = ">=17.4.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
more-itertools = ">=4.0.0"
packaging = "*"
pluggy = ">=0.12,<1.0"
py = ">=1.5.0"
wcwidth = "*"
[package.extras]
checkqa-mypy = ["mypy (v0.761)"]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
[[package]]
name = "python-slugify"
version = "4.0.1"
description = "A Python Slugify application that handles Unicode"
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[package.dependencies]
text-unidecode = ">=1.3"
[package.extras]
unidecode = ["Unidecode (>=1.1.1)"]
[[package]]
name = "pywin32-ctypes"
version = "0.2.0"
description = ""
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "six"
version = "1.15.0"
description = "Python 2 and 3 compatibility utilities"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "text-unidecode"
version = "1.3"
description = "The most basic Text::Unidecode port"
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "toml"
version = "0.10.1"
description = "Python Library for Tom's Obvious, Minimal Language"
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "wcwidth"
version = "0.2.5"
description = "Measures the displayed width of unicode strings in a terminal"
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "wrapt"
version = "1.12.1"
description = "Module for decorators, wrappers and monkey patching."
category = "dev"
optional = false
python-versions = "*"
[metadata]
lock-version = "1.1"
python-versions = "^3.8"
content-hash = "9e7eb4293bbca6b76f7e174185d002e6147b5f4b96b2730fdf179b787d2789c8"
[metadata.files]
altgraph = [
{file = "altgraph-0.17-py2.py3-none-any.whl", hash = "sha256:c623e5f3408ca61d4016f23a681b9adb100802ca3e3da5e718915a9e4052cebe"},
{file = "altgraph-0.17.tar.gz", hash = "sha256:1f05a47122542f97028caf78775a095fbe6a2699b5089de8477eb583167d69aa"},
]
astroid = [
{file = "astroid-2.4.2-py3-none-any.whl", hash = "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"},
{file = "astroid-2.4.2.tar.gz", hash = "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703"},
]
atomicwrites = [
{file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
{file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
]
attrs = [
{file = "attrs-20.2.0-py2.py3-none-any.whl", hash = "sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc"},
{file = "attrs-20.2.0.tar.gz", hash = "sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594"},
]
autopep8 = [
{file = "autopep8-1.5.4.tar.gz", hash = "sha256:d21d3901cb0da6ebd1e83fc9b0dfbde8b46afc2ede4fe32fbda0c7c6118ca094"},
]
colorama = [
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
]
future = [
{file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"},
]
isort = [
{file = "isort-5.6.4-py3-none-any.whl", hash = "sha256:dcab1d98b469a12a1a624ead220584391648790275560e1a43e54c5dceae65e7"},
{file = "isort-5.6.4.tar.gz", hash = "sha256:dcaeec1b5f0eca77faea2a35ab790b4f3680ff75590bfcb7145986905aab2f58"},
]
lazy-object-proxy = [
{file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"},
]
macholib = [
{file = "macholib-1.14-py2.py3-none-any.whl", hash = "sha256:c500f02867515e6c60a27875b408920d18332ddf96b4035ef03beddd782d4281"},
{file = "macholib-1.14.tar.gz", hash = "sha256:0c436bc847e7b1d9bda0560351bf76d7caf930fb585a828d13608839ef42c432"},
]
mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
]
more-itertools = [
{file = "more-itertools-8.5.0.tar.gz", hash = "sha256:6f83822ae94818eae2612063a5101a7311e68ae8002005b5e05f03fd74a86a20"},
{file = "more_itertools-8.5.0-py3-none-any.whl", hash = "sha256:9b30f12df9393f0d28af9210ff8efe48d10c94f73e5daf886f10c4b0b0b4f03c"},
]
packaging = [
{file = "packaging-20.4-py2.py3-none-any.whl", hash = "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181"},
{file = "packaging-20.4.tar.gz", hash = "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"},
]
parse = [
{file = "parse-1.18.0.tar.gz", hash = "sha256:91666032d6723dc5905248417ef0dc9e4c51df9526aaeef271eacad6491f06a4"},
]
pefile = [
{file = "pefile-2019.4.18.tar.gz", hash = "sha256:a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645"},
]
pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
]
py = [
{file = "py-1.9.0-py2.py3-none-any.whl", hash = "sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2"},
{file = "py-1.9.0.tar.gz", hash = "sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342"},
]
pycodestyle = [
{file = "pycodestyle-2.6.0-py2.py3-none-any.whl", hash = "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367"},
{file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
]
pyinstaller = [
{file = "pyinstaller-4.0.tar.gz", hash = "sha256:970beb07115761d5e4ec317c1351b712fd90ae7f23994db914c633281f99bab0"},
]
pyinstaller-hooks-contrib = [
{file = "pyinstaller-hooks-contrib-2020.9.tar.gz", hash = "sha256:a5fd45a920012802e3f2089e1d3501ef2f49265dfea8fc46c3310f18e3326c91"},
{file = "pyinstaller_hooks_contrib-2020.9-py2.py3-none-any.whl", hash = "sha256:c382f3ac1a42b45cfecd581475c36db77da90e479b2f5bcb6d840d21fa545114"},
]
pylint = [
{file = "pylint-2.6.0-py3-none-any.whl", hash = "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f"},
{file = "pylint-2.6.0.tar.gz", hash = "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210"},
]
pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pyqt5 = [
{file = "PyQt5-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-macosx_10_13_intel.whl", hash = "sha256:b9e7cc3ec69f80834f3f7507478c77e4d42411d5e9e557350e61b2660d12abc2"},
{file = "PyQt5-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1ea7e82004dc7b311d1e29df2f276461016e2d180e10c73805ace4376125ed9"},
{file = "PyQt5-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-none-win32.whl", hash = "sha256:4e47021c2b8e89a3bc64247dfb224144e5c8d77e3ab44f3842d120aab6b3cbd4"},
{file = "PyQt5-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-none-win_amd64.whl", hash = "sha256:17a6d5258796bae16e447aa3efa00258425c09cf88ef68238762628a5dde7c6f"},
{file = "PyQt5-5.15.1.tar.gz", hash = "sha256:d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1"},
]
pyqt5-sip = [
{file = "PyQt5_sip-12.8.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:bb5a87b66fc1445915104ee97f7a20a69decb42f52803e3b0795fa17ff88226c"},
{file = "PyQt5_sip-12.8.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:a29e2ac399429d3b7738f73e9081e50783e61ac5d29344e0802d0dcd6056c5a2"},
{file = "PyQt5_sip-12.8.1-cp35-cp35m-win32.whl", hash = "sha256:0304ca9114b9817a270f67f421355075b78ff9fc25ac58ffd72c2601109d2194"},
{file = "PyQt5_sip-12.8.1-cp35-cp35m-win_amd64.whl", hash = "sha256:84ba7746762bd223bed22428e8561aa267a229c28344c2d28c5d5d3f8970cffb"},
{file = "PyQt5_sip-12.8.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:7b81382ce188d63890a0e35abe0f9bb946cabc873a31873b73583b0fc84ac115"},
{file = "PyQt5_sip-12.8.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b6d42250baec52a5f77de64e2951d001c5501c3a2df2179f625b241cbaec3369"},
{file = "PyQt5_sip-12.8.1-cp36-cp36m-win32.whl", hash = "sha256:6c1ebee60f1d2b3c70aff866b7933d8d8d7646011f7c32f9321ee88c290aa4f9"},
{file = "PyQt5_sip-12.8.1-cp36-cp36m-win_amd64.whl", hash = "sha256:34dcd29be47553d5f016ff86e89e24cbc5eebae92eb2f96fb32d2d7ba028c43c"},
{file = "PyQt5_sip-12.8.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ed897c58acf4a3cdca61469daa31fe6e44c33c6c06a37c3f21fab31780b3b86a"},
{file = "PyQt5_sip-12.8.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a1b8ef013086e224b8e86c93f880f776d01b59195bdfa2a8e0b23f0480678fec"},
{file = "PyQt5_sip-12.8.1-cp37-cp37m-win32.whl", hash = "sha256:0cd969be528c27bbd4755bd323dff4a79a8fdda28215364e6ce3e069cb56c2a9"},
{file = "PyQt5_sip-12.8.1-cp37-cp37m-win_amd64.whl", hash = "sha256:c9800729badcb247765e4ffe2241549d02da1fa435b9db224845bc37c3e99cb0"},
{file = "PyQt5_sip-12.8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9312ec47cac4e33c11503bc1cbeeb0bdae619620472f38e2078c5a51020a930f"},
{file = "PyQt5_sip-12.8.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2f35e82fd7ec1e1f6716e9154721c7594956a4f5bd4f826d8c6a6453833cc2f0"},
{file = "PyQt5_sip-12.8.1-cp38-cp38-win32.whl", hash = "sha256:da9c9f1e65b9d09e73bd75befc82961b6b61b5a3b9d0a7c832168e1415f163c6"},
{file = "PyQt5_sip-12.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:832fd60a264de4134c2824d393320838f3ab648180c9c357ec58a74524d24507"},
{file = "PyQt5_sip-12.8.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c317ab1263e6417c498b81f5c970a9b1af7acefab1f80b4cc0f2f8e661f29fc5"},
{file = "PyQt5_sip-12.8.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:c9d6d448c29dc6606bb7974696608f81f4316c8234f7c7216396ed110075e777"},
{file = "PyQt5_sip-12.8.1-cp39-cp39-win32.whl", hash = "sha256:5a011aeff89660622a6d5c3388d55a9d76932f3b82c95e82fc31abd8b1d2990d"},
{file = "PyQt5_sip-12.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:f168f0a7f32b81bfeffdf003c36f25d81c97dee5eb67072a5183e761fe250f13"},
{file = "PyQt5_sip-12.8.1.tar.gz", hash = "sha256:30e944db9abee9cc757aea16906d4198129558533eb7fadbe48c5da2bd18e0bd"},
]
pytest = [
{file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"},
{file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
]
python-slugify = [
{file = "python-slugify-4.0.1.tar.gz", hash = "sha256:69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270"},
]
pywin32-ctypes = [
{file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"},
{file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"},
]
six = [
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
]
text-unidecode = [
{file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"},
{file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"},
]
toml = [
{file = "toml-0.10.1-py2.py3-none-any.whl", hash = "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"},
{file = "toml-0.10.1.tar.gz", hash = "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f"},
]
wcwidth = [
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
{file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
]
wrapt = [
{file = "wrapt-1.12.1.tar.gz", hash = "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"},
]

22
SPEx/pyproject.toml Normal file
View File

@@ -0,0 +1,22 @@
[tool.poetry]
name = "SPEx"
version = "0.1.0"
description = ""
authors = ["Emanuele <ema.trabattoni@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.8"
PyQt5 = ">=5.15.0"
parse = "^1.18.0"
python-slugify = "^4.0.1"
colorama = "^0.4.4"
[tool.poetry.dev-dependencies]
pytest = "^5.2"
pylint = "^2.6.0"
autopep8 = "^1.5.4"
pyinstaller = "^4.0"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

View File

@@ -1,32 +1,33 @@
# -*- mode: python -*- # -*- mode: python ; coding: utf-8 -*-
block_cipher = None block_cipher = None
a = Analysis(['main.py'], a = Analysis(['../spex/guimain.py'],
pathex=['D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT'], pathex=['./libbananasplit', './UserInterface/compiledUI', '/home/emanuele/VScode/bananaSPLIT/SPEx/scripts'],
binaries=[], binaries=[],
datas=[('C:\\Users\\Emanuele Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin', '.\\text_unidecode')], datas=[('../.venv/lib/python3.8/site-packages/text_unidecode/data.bin', './text_unidecode')],
hiddenimports=[], hiddenimports=[],
hookspath=[], hookspath=[],
runtime_hooks=[], runtime_hooks=[],
excludes=[], excludes=[],
win_no_prefer_redirects=False, win_no_prefer_redirects=False,
win_private_assemblies=False, win_private_assemblies=False,
cipher=block_cipher, cipher=block_cipher,
noarchive=False) noarchive=False)
pyz = PYZ(a.pure, a.zipped_data, pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher) cipher=block_cipher)
exe = EXE(pyz, exe = EXE(pyz,
a.scripts, a.scripts,
a.binaries, a.binaries,
a.zipfiles, a.zipfiles,
a.datas, a.datas,
[], [],
name='bananaSPLIT.exe', name='SPEx.exe',
debug=False, debug=False,
bootloader_ignore_signals=False, bootloader_ignore_signals=False,
strip=False, strip=False,
upx=True, upx=True,
runtime_tmpdir=None, upx_exclude=[],
console=True , icon='banana.ico') runtime_tmpdir=None,
console=False , icon='../spex/logo.ico')

37
SPEx/scripts/compileUI.py Normal file
View File

@@ -0,0 +1,37 @@
'''
Created on 24 nov 2019
@author: Emanuele Trabattoni
'''
import os, glob, subprocess
def updateInterfaces():
uifiles = glob.glob("*.ui")
for f in uifiles:
command = r"pyuic5.exe "+f
print(command)
rv = subprocess.run(command, capture_output=True)
if rv.returncode == 0:
fp = open(r".\\CompiledUI\\"+f.replace("ui","py"), 'w')
fp.write(str(rv.stdout, encoding='utf-8').replace('\r', ''))
fp.close()
else:
print("Command Failure")
def updateResources():
command = r'pyrcc5.exe '+'.\\resources\\resources.qrc'
print (command)
rv = subprocess.run(command, capture_output=True)
if rv.returncode == 0:
fp = open(r".\\compiledUI\\resources_rc.py", 'w')
fp.write(str(rv.stdout, encoding='utf-8').replace('\r', ''))
fp.close()
else:
print("Command Failure")
if __name__ == '__main__':
print(os.getcwd())
os.chdir(r"..\spex\userInterface")
updateInterfaces()
updateResources()
pass

21
SPEx/scripts/convert.py Normal file
View File

@@ -0,0 +1,21 @@
'''
Created on 30 mar 2020
@author: Emanuele Trabattoni
'''
import glob, docx2txt
if __name__ == '__main__':
fList = glob.iglob("../TestFiles/File nuovo formato/*.docx")
for f in fList:
#os.remove(f.replace('.docx', '.txt'))
print(f)
try:
txt=docx2txt.process(f)
with open(f.replace('.docx', '.txt'), 'wb') as fp:
fp.write(txt.encode('ansi'))
fp.close()
except Exception as e:
print(e)
pass
pass

17
SPEx/scripts/create_SPEX.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
pyinstaller --add-data="../.venv/lib/python3.8/site-packages/text_unidecode/data.bin":./text_unidecode \
--icon="../spex/logo.ico" \
--paths ./libbananasplit --paths ./UserInterface/compiledUI \
--name=SPEx \
--onefile \
--windowed -y \
../spex/guimain.py
echo "Copio configurazione"
cp -r ../conf ./dist/
echo "Copio file binari"
mv ./dist/ ../bin
echo "Rinuovo cartella build"
rm -rf ./build

View File

@@ -0,0 +1,15 @@
echo off
pyinstaller.exe --add-data="..\.venv\Lib\site-packages\text_unidecode\data.bin";.\text_unidecode ^
--icon="..\spex\logo.ico" ^
--paths ./libbananasplit --paths ./UserInterface/compiledUI ^
--name=SPEx.exe ^
--onefile ^
--windowed -y ^
..\spex\guimain.py | rem
echo "Copio i file di configurazione..."
robocopy /E ..\conf .\dist\conf
echo "Sposto la cartella con l'exe"
robocopy /E /MOVE .\dist ..\bin\
echo "Rimuovo la cartella di build"
rmdir /s /q .\build .\dist
echo on

View File

@@ -0,0 +1,21 @@
'''
Created on 1 dic 2019
@author: Emanuele Trabattoni
'''
import json
from libsplit import bananaSPLITTER
from libfancylogger import fancyLogger
if __name__ == "__main__":
logger = fancyLogger(filepath=r"./conf/loggerconf.json",fileLog=False)
fp = open('./conf/conftest.json', 'r')
splitter = bananaSPLITTER(fileParams=json.load(fp), logger=logger)
fp.close()
splitter.run()
logger.info("\n"+"="*50+"\n\tFINITO!!!\n"+"="*50)

View File

@@ -0,0 +1,15 @@
'''
Created on 10 apr 2020
@author: Emanuele Trabattoni
'''
import os,glob
import subprocess
if __name__ == '__main__':
tsfiles = glob.glob("..\\UserInterface\\resources\\translations\\*.ts")
for ts in tsfiles:
tso = "..\\SPEx\\userInterface\\resources\\translations\\"+os.path.splitext((os.path.split(ts)[1]))[0]+".qm"
subprocess.run(f'lrelease.exe {ts} -qm {tso}')
os.chdir("..\\SPEx\\userInterface")
pass

View File

@@ -0,0 +1,20 @@
'''
Created on 10 apr 2020
@author: Emanuele Trabattoni
'''
import os,glob
import subprocess
langs = ["en"]
if __name__ == '__main__':
uifiles = glob.glob("..\\*\\*.ui", recursive=True)
pyfiles = ['..\\SPEx\\guimain.py','..\\SPEx\\libbananasplit\\libsplit.py','..\\SPEx\\libbananasplit\\libconfload.py']
for l in langs:
for ui in uifiles:
uio = "..\\SPEx\\userInterface\\resources\\translations\\"+os.path.splitext((os.path.split(ui)[1]))[0]+f"_{l}.ts"
subprocess.run(f'lupdate.exe {ui} -ts {uio}')
for py in pyfiles:
pyo = "..\\SPEx\\userInterface\\resources\\translations\\"+os.path.splitext((os.path.split(py)[1]))[0]+f"_{l}.ts"
print(subprocess.run(f'pylupdate5.exe {py} -ts {pyo}'))
pass

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>about</class>
<widget class="QDialog" name="about">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>768</width>
<height>640</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>768</width>
<height>640</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>768</width>
<height>640</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>About SPEx</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-info-80.png</normaloff>:/ico/icons/icons8-info-80.png</iconset>
</property>
<property name="modal">
<bool>true</bool>
</property>
<widget class="QLabel" name="lbl_ico">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>128</width>
<height>128</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="resources/resources.qrc">:/ico/icons/logo.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="lbl_info">
<property name="geometry">
<rect>
<x>150</x>
<y>10</y>
<width>601</width>
<height>621</height>
</rect>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Rockwell'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:20pt; font-weight:600;&quot;&gt;About SPEx&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Versione {ver}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;SPEx (Split Parse &amp;amp; Extract) e' un tool utile per gli specialisti di linguistica dei corpora che intendono rifinire il loro corpus, eliminando tutti gli elementi non &lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;necessari e dividendo in file singoli le raccolte di&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt; &amp;quot;articoli&amp;quot; scaricate da database online quali &lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt; font-style:italic;&quot;&gt;Lexis Uni&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Puoi tranquillamente suggerire SPEx ad un tuo collega: ci fa molto piacere!&lt;br&gt;Ricordati solo di mandarci una mail con scopo e impressioni di utilizzo: questo ci aiuta a tenere traccia di quanti ricercatori stanno usando SPEx e pensare a sviluppi futuri di questo tool. &lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:10pt;&quot;&gt;SPEx non e' soggetto ad alcun tipo di licenza e viene distribuito senza alcuna garanzia.&lt;br /&gt;Essendo un progetto &amp;quot;del tempo libero&amp;quot;, bug e proposte di espansione verranno sicuramente presi in considerazione, anche se le tempistiche potrebbero variare.&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Contatti:&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:10pt;&quot;&gt;12parsec.software@gmail.com&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Download:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt; text-decoration: underline; color:#0000ff;&quot;&gt;https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>editconf</class>
<widget class="QDialog" name="editconf">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>500</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>600</width>
<height>500</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Opzioni Avanzate</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>ATTENZIONE!! Quello che scrivi qui potrebbe rompere tutto!</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::NoTextInteraction</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Da grandi poteri derivano grandi responsabilita'</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txt_confFile">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_cancel">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,347 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>advtitolo3</class>
<widget class="QWidget" name="advtitolo3">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>480</width>
<height>524</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Avanzate Titolo</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="lbl_terzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>(Terzo Elemento)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numeroterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_dataterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titoloterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="10" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_secondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Secondo Elemento</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numerosecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_datasecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titolosecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="lbl_istruzioni">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona l'ordine degli elementi nel nomi file</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Prefisso Titolo</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="txt_prefisso">
<property name="inputMask">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>10</number>
</property>
</widget>
</item>
<item row="3" column="0">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="lbl_primo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Primo elemento</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numeroprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_dataprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titoloprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="lbl_titoloschermata">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Modifica ordine elementi nome file</string>
</property>
</widget>
</item>
<item row="10" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btn_annulla">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Annulla</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_OK">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Suffisso Titolo</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="txt_suffisso">
<property name="maxLength">
<number>10</number>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'about.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_about(object):
def setupUi(self, about):
about.setObjectName("about")
about.setEnabled(True)
about.resize(768, 640)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(about.sizePolicy().hasHeightForWidth())
about.setSizePolicy(sizePolicy)
about.setMinimumSize(QtCore.QSize(768, 640))
about.setMaximumSize(QtCore.QSize(768, 640))
font = QtGui.QFont()
font.setFamily("Rockwell")
about.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-info-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
about.setWindowIcon(icon)
about.setModal(True)
self.lbl_ico = QtWidgets.QLabel(about)
self.lbl_ico.setGeometry(QtCore.QRect(10, 10, 128, 128))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_ico.sizePolicy().hasHeightForWidth())
self.lbl_ico.setSizePolicy(sizePolicy)
self.lbl_ico.setFrameShape(QtWidgets.QFrame.NoFrame)
self.lbl_ico.setText("")
self.lbl_ico.setPixmap(QtGui.QPixmap(":/ico/icons/logo.png"))
self.lbl_ico.setScaledContents(True)
self.lbl_ico.setObjectName("lbl_ico")
self.lbl_info = QtWidgets.QLabel(about)
self.lbl_info.setGeometry(QtCore.QRect(150, 10, 601, 621))
self.lbl_info.setTextFormat(QtCore.Qt.RichText)
self.lbl_info.setWordWrap(True)
self.lbl_info.setObjectName("lbl_info")
self.retranslateUi(about)
QtCore.QMetaObject.connectSlotsByName(about)
def retranslateUi(self, about):
_translate = QtCore.QCoreApplication.translate
about.setWindowTitle(_translate("about", "About SPEx"))
self.lbl_info.setText(_translate("about", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Rockwell\'; font-size:8pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:20pt; font-weight:600;\">About SPEx<br /></span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Versione {ver}</span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">SPEx (Split Parse &amp; Extract) e\' un tool utile per gli specialisti di linguistica dei corpora che intendono rifinire il loro corpus, eliminando tutti gli elementi non </span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">necessari e dividendo in file singoli le raccolte di</span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\"> &quot;articoli&quot; scaricate da database online quali </span><span style=\" font-family:\'Rockwell\'; font-size:12pt; font-style:italic;\">Lexis Uni</span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">.</span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Puoi tranquillamente suggerire SPEx ad un tuo collega: ci fa molto piacere!<br>Ricordati solo di mandarci una mail con scopo e impressioni di utilizzo: questo ci aiuta a tenere traccia di quanti ricercatori stanno usando SPEx e pensare a sviluppi futuri di questo tool. </span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:10pt;\">SPEx non e\' soggetto ad alcun tipo di licenza e viene distribuito senza alcuna garanzia.<br />Essendo un progetto &quot;del tempo libero&quot;, bug e proposte di espansione verranno sicuramente presi in considerazione, anche se le tempistiche potrebbero variare.</span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Contatti:</span><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span><span style=\" font-family:\'Rockwell\'; font-size:10pt;\">12parsec.software@gmail.com</span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Download:<br /></span><a href=\"https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8\"><span style=\" font-family:\'Rockwell\'; font-size:7pt; text-decoration: underline; color:#0000ff;\">https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8</span></a></p></body></html>"))
import resources_rc

View File

@@ -0,0 +1,88 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'advopt.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_editconf(object):
def setupUi(self, editconf):
editconf.setObjectName("editconf")
editconf.resize(600, 500)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(editconf.sizePolicy().hasHeightForWidth())
editconf.setSizePolicy(sizePolicy)
editconf.setMinimumSize(QtCore.QSize(600, 500))
font = QtGui.QFont()
font.setFamily("Rockwell")
editconf.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
editconf.setWindowIcon(icon)
self.verticalLayout = QtWidgets.QVBoxLayout(editconf)
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(12)
self.label.setFont(font)
self.label.setTextFormat(QtCore.Qt.PlainText)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setWordWrap(True)
self.label.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.label_2 = QtWidgets.QLabel(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label_2.setFont(font)
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.txt_confFile = QtWidgets.QPlainTextEdit(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.txt_confFile.setFont(font)
self.txt_confFile.setObjectName("txt_confFile")
self.verticalLayout.addWidget(self.txt_confFile)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.btn_cancel = QtWidgets.QPushButton(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_cancel.setFont(font)
self.btn_cancel.setObjectName("btn_cancel")
self.horizontalLayout.addWidget(self.btn_cancel)
self.btn_ok = QtWidgets.QPushButton(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_ok.setFont(font)
self.btn_ok.setObjectName("btn_ok")
self.horizontalLayout.addWidget(self.btn_ok)
self.verticalLayout.addLayout(self.horizontalLayout)
self.retranslateUi(editconf)
QtCore.QMetaObject.connectSlotsByName(editconf)
def retranslateUi(self, editconf):
_translate = QtCore.QCoreApplication.translate
editconf.setWindowTitle(_translate("editconf", "Opzioni Avanzate"))
self.label.setText(_translate("editconf", "ATTENZIONE!! Quello che scrivi qui potrebbe rompere tutto!"))
self.label_2.setText(_translate("editconf", "Da grandi poteri derivano grandi responsabilita\'"))
self.btn_cancel.setText(_translate("editconf", "Cancel"))
self.btn_ok.setText(_translate("editconf", "OK"))
import resources_rc

View File

@@ -0,0 +1,220 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'avanzatetitolo3.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_advtitolo3(object):
def setupUi(self, advtitolo3):
advtitolo3.setObjectName("advtitolo3")
advtitolo3.setWindowModality(QtCore.Qt.WindowModal)
advtitolo3.resize(480, 524)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(advtitolo3.sizePolicy().hasHeightForWidth())
advtitolo3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
advtitolo3.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
advtitolo3.setWindowIcon(icon)
self.gridLayout = QtWidgets.QGridLayout(advtitolo3)
self.gridLayout.setObjectName("gridLayout")
self.line = QtWidgets.QFrame(advtitolo3)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 2)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.lbl_terzo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_terzo.setFont(font)
self.lbl_terzo.setObjectName("lbl_terzo")
self.verticalLayout_3.addWidget(self.lbl_terzo)
self.rad_numeroterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numeroterzo.setFont(font)
self.rad_numeroterzo.setObjectName("rad_numeroterzo")
self.verticalLayout_3.addWidget(self.rad_numeroterzo)
self.rad_dataterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_dataterzo.setFont(font)
self.rad_dataterzo.setObjectName("rad_dataterzo")
self.verticalLayout_3.addWidget(self.rad_dataterzo)
self.rad_titoloterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titoloterzo.setFont(font)
self.rad_titoloterzo.setChecked(True)
self.rad_titoloterzo.setObjectName("rad_titoloterzo")
self.verticalLayout_3.addWidget(self.rad_titoloterzo)
self.gridLayout.addLayout(self.verticalLayout_3, 6, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 10, 0, 1, 1)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.lbl_secondo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_secondo.setFont(font)
self.lbl_secondo.setObjectName("lbl_secondo")
self.verticalLayout.addWidget(self.lbl_secondo)
self.rad_numerosecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numerosecondo.setFont(font)
self.rad_numerosecondo.setObjectName("rad_numerosecondo")
self.verticalLayout.addWidget(self.rad_numerosecondo)
self.rad_datasecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_datasecondo.setFont(font)
self.rad_datasecondo.setChecked(True)
self.rad_datasecondo.setObjectName("rad_datasecondo")
self.verticalLayout.addWidget(self.rad_datasecondo)
self.rad_titolosecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titolosecondo.setFont(font)
self.rad_titolosecondo.setObjectName("rad_titolosecondo")
self.verticalLayout.addWidget(self.rad_titolosecondo)
self.gridLayout.addLayout(self.verticalLayout, 5, 0, 1, 1)
self.lbl_istruzioni = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_istruzioni.setFont(font)
self.lbl_istruzioni.setObjectName("lbl_istruzioni")
self.gridLayout.addWidget(self.lbl_istruzioni, 2, 0, 1, 2)
self.label = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 8, 0, 1, 1)
self.txt_prefisso = QtWidgets.QLineEdit(advtitolo3)
self.txt_prefisso.setInputMask("")
self.txt_prefisso.setText("")
self.txt_prefisso.setMaxLength(10)
self.txt_prefisso.setObjectName("txt_prefisso")
self.gridLayout.addWidget(self.txt_prefisso, 8, 1, 1, 1)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.lbl_primo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_primo.setFont(font)
self.lbl_primo.setObjectName("lbl_primo")
self.verticalLayout_2.addWidget(self.lbl_primo)
self.rad_numeroprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numeroprimo.setFont(font)
self.rad_numeroprimo.setChecked(False)
self.rad_numeroprimo.setObjectName("rad_numeroprimo")
self.verticalLayout_2.addWidget(self.rad_numeroprimo)
self.rad_dataprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_dataprimo.setFont(font)
self.rad_dataprimo.setObjectName("rad_dataprimo")
self.verticalLayout_2.addWidget(self.rad_dataprimo)
self.rad_titoloprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titoloprimo.setFont(font)
self.rad_titoloprimo.setObjectName("rad_titoloprimo")
self.verticalLayout_2.addWidget(self.rad_titoloprimo)
self.gridLayout.addLayout(self.verticalLayout_2, 3, 0, 1, 1)
self.line_2 = QtWidgets.QFrame(advtitolo3)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayout.addWidget(self.line_2, 7, 0, 1, 2)
self.lbl_titoloschermata = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.lbl_titoloschermata.setFont(font)
self.lbl_titoloschermata.setObjectName("lbl_titoloschermata")
self.gridLayout.addWidget(self.lbl_titoloschermata, 0, 0, 1, 2)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.btn_annulla = QtWidgets.QPushButton(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_annulla.setFont(font)
self.btn_annulla.setObjectName("btn_annulla")
self.horizontalLayout.addWidget(self.btn_annulla)
self.btn_OK = QtWidgets.QPushButton(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_OK.setFont(font)
self.btn_OK.setObjectName("btn_OK")
self.horizontalLayout.addWidget(self.btn_OK)
self.gridLayout.addLayout(self.horizontalLayout, 10, 1, 1, 1)
self.label_2 = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 9, 0, 1, 1)
self.txt_suffisso = QtWidgets.QLineEdit(advtitolo3)
self.txt_suffisso.setMaxLength(10)
self.txt_suffisso.setObjectName("txt_suffisso")
self.gridLayout.addWidget(self.txt_suffisso, 9, 1, 1, 1)
self.retranslateUi(advtitolo3)
QtCore.QMetaObject.connectSlotsByName(advtitolo3)
def retranslateUi(self, advtitolo3):
_translate = QtCore.QCoreApplication.translate
advtitolo3.setWindowTitle(_translate("advtitolo3", "Avanzate Titolo"))
self.lbl_terzo.setText(_translate("advtitolo3", "(Terzo Elemento)"))
self.rad_numeroterzo.setText(_translate("advtitolo3", "Numero"))
self.rad_dataterzo.setText(_translate("advtitolo3", "Data"))
self.rad_titoloterzo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_secondo.setText(_translate("advtitolo3", "Secondo Elemento"))
self.rad_numerosecondo.setText(_translate("advtitolo3", "Numero"))
self.rad_datasecondo.setText(_translate("advtitolo3", "Data"))
self.rad_titolosecondo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_istruzioni.setText(_translate("advtitolo3", "Seleziona l\'ordine degli elementi nel nomi file"))
self.label.setText(_translate("advtitolo3", "Prefisso Titolo"))
self.lbl_primo.setText(_translate("advtitolo3", "Primo elemento"))
self.rad_numeroprimo.setText(_translate("advtitolo3", "Numero"))
self.rad_dataprimo.setText(_translate("advtitolo3", "Data"))
self.rad_titoloprimo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_titoloschermata.setText(_translate("advtitolo3", "Modifica ordine elementi nome file"))
self.btn_annulla.setText(_translate("advtitolo3", "Annulla"))
self.btn_OK.setText(_translate("advtitolo3", "OK"))
self.label_2.setText(_translate("advtitolo3", "Suffisso Titolo"))
import resources_rc

View File

@@ -0,0 +1,321 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainwin(object):
def setupUi(self, mainwin):
mainwin.setObjectName("mainwin")
mainwin.setEnabled(True)
mainwin.resize(680, 620)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(mainwin.sizePolicy().hasHeightForWidth())
mainwin.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
mainwin.setFont(font)
mainwin.setFocusPolicy(QtCore.Qt.NoFocus)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/logo2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
mainwin.setWindowIcon(icon)
mainwin.setAnimated(False)
mainwin.setDockOptions(QtWidgets.QMainWindow.AllowTabbedDocks)
self.centralwidget = QtWidgets.QWidget(mainwin)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
font.setBold(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setAlignment(QtCore.Qt.AlignCenter)
self.label_4.setObjectName("label_4")
self.horizontalLayout_3.addWidget(self.label_4)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.label_3 = QtWidgets.QLabel(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
self.label_3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.horizontalLayout_3.addWidget(self.label_3)
self.lbl_preset = QtWidgets.QLabel(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_preset.sizePolicy().hasHeightForWidth())
self.lbl_preset.setSizePolicy(sizePolicy)
self.lbl_preset.setObjectName("lbl_preset")
self.horizontalLayout_3.addWidget(self.lbl_preset)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem1)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 2, 0, 1, 1)
self.txt_log = QtWidgets.QTextEdit(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txt_log.sizePolicy().hasHeightForWidth())
self.txt_log.setSizePolicy(sizePolicy)
self.txt_log.setMaximumSize(QtCore.QSize(16777215, 100))
self.txt_log.setAcceptDrops(False)
self.txt_log.setAutoFillBackground(False)
self.txt_log.setStyleSheet("background-color: rgb(0,0,0);")
self.txt_log.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
self.txt_log.setObjectName("txt_log")
self.gridLayout_2.addWidget(self.txt_log, 4, 0, 1, 1)
self.wgt_main = QtWidgets.QTabWidget(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.wgt_main.sizePolicy().hasHeightForWidth())
self.wgt_main.setSizePolicy(sizePolicy)
self.wgt_main.setObjectName("wgt_main")
self.wgt_mainPage1 = QtWidgets.QWidget()
self.wgt_mainPage1.setObjectName("wgt_mainPage1")
self.gridLayout = QtWidgets.QGridLayout(self.wgt_mainPage1)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.btn_cartellasorg = QtWidgets.QPushButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_cartellasorg.sizePolicy().hasHeightForWidth())
self.btn_cartellasorg.setSizePolicy(sizePolicy)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-add-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_cartellasorg.setIcon(icon1)
self.btn_cartellasorg.setIconSize(QtCore.QSize(30, 30))
self.btn_cartellasorg.setFlat(True)
self.btn_cartellasorg.setObjectName("btn_cartellasorg")
self.verticalLayout_2.addWidget(self.btn_cartellasorg)
self.btn_cartelladest = QtWidgets.QPushButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_cartelladest.sizePolicy().hasHeightForWidth())
self.btn_cartelladest.setSizePolicy(sizePolicy)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-downloads-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_cartelladest.setIcon(icon2)
self.btn_cartelladest.setIconSize(QtCore.QSize(30, 30))
self.btn_cartelladest.setFlat(True)
self.btn_cartelladest.setObjectName("btn_cartelladest")
self.verticalLayout_2.addWidget(self.btn_cartelladest)
self.gridLayout.addLayout(self.verticalLayout_2, 0, 1, 1, 1)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.lbl_cartellasorg = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_cartellasorg.setFont(font)
self.lbl_cartellasorg.setObjectName("lbl_cartellasorg")
self.verticalLayout.addWidget(self.lbl_cartellasorg)
self.lbl_cartelladest = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_cartelladest.setFont(font)
self.lbl_cartelladest.setObjectName("lbl_cartelladest")
self.verticalLayout.addWidget(self.lbl_cartelladest)
self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.lbl_sorg = QtWidgets.QLabel(self.wgt_mainPage1)
self.lbl_sorg.setObjectName("lbl_sorg")
self.verticalLayout_4.addWidget(self.lbl_sorg)
self.lbl_dest = QtWidgets.QLabel(self.wgt_mainPage1)
self.lbl_dest.setObjectName("lbl_dest")
self.verticalLayout_4.addWidget(self.lbl_dest)
self.gridLayout.addLayout(self.verticalLayout_4, 0, 2, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 0, 3, 1, 1)
self.line = QtWidgets.QFrame(self.wgt_mainPage1)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 4)
self.label = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 2, 0, 1, 4)
self.lst_files = QtWidgets.QListWidget(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lst_files.sizePolicy().hasHeightForWidth())
self.lst_files.setSizePolicy(sizePolicy)
self.lst_files.setMinimumSize(QtCore.QSize(0, 180))
self.lst_files.setObjectName("lst_files")
self.gridLayout.addWidget(self.lst_files, 3, 0, 1, 4)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_2 = QtWidgets.QLabel(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
self.label_2.setSizePolicy(sizePolicy)
self.label_2.setObjectName("label_2")
self.horizontalLayout_2.addWidget(self.label_2)
self.rad_fileNew = QtWidgets.QRadioButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_fileNew.sizePolicy().hasHeightForWidth())
self.rad_fileNew.setSizePolicy(sizePolicy)
self.rad_fileNew.setChecked(True)
self.rad_fileNew.setObjectName("rad_fileNew")
self.horizontalLayout_2.addWidget(self.rad_fileNew)
self.rad_fileOld = QtWidgets.QRadioButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_fileOld.sizePolicy().hasHeightForWidth())
self.rad_fileOld.setSizePolicy(sizePolicy)
self.rad_fileOld.setObjectName("rad_fileOld")
self.horizontalLayout_2.addWidget(self.rad_fileOld)
self.btn_avanti = QtWidgets.QPushButton(self.wgt_mainPage1)
self.btn_avanti.setMinimumSize(QtCore.QSize(100, 40))
self.btn_avanti.setMaximumSize(QtCore.QSize(80, 16777215))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanti.setFont(font)
self.btn_avanti.setLayoutDirection(QtCore.Qt.LeftToRight)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanti.setIcon(icon3)
self.btn_avanti.setIconSize(QtCore.QSize(25, 25))
self.btn_avanti.setFlat(False)
self.btn_avanti.setObjectName("btn_avanti")
self.horizontalLayout_2.addWidget(self.btn_avanti)
self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 4)
self.wgt_main.addTab(self.wgt_mainPage1, "")
self.gridLayout_2.addWidget(self.wgt_main, 1, 0, 1, 1)
mainwin.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainwin)
self.menubar.setGeometry(QtCore.QRect(0, 0, 680, 26))
self.menubar.setNativeMenuBar(True)
self.menubar.setObjectName("menubar")
self.bar_file = QtWidgets.QMenu(self.menubar)
self.bar_file.setObjectName("bar_file")
self.menuOpzioni = QtWidgets.QMenu(self.menubar)
self.menuOpzioni.setObjectName("menuOpzioni")
self.menuAbout = QtWidgets.QMenu(self.menubar)
self.menuAbout.setObjectName("menuAbout")
mainwin.setMenuBar(self.menubar)
self.actionCarica_Preset = QtWidgets.QAction(mainwin)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-documents-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionCarica_Preset.setIcon(icon4)
self.actionCarica_Preset.setIconVisibleInMenu(True)
self.actionCarica_Preset.setObjectName("actionCarica_Preset")
self.actionSalva_Preset = QtWidgets.QAction(mainwin)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-save-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionSalva_Preset.setIcon(icon5)
self.actionSalva_Preset.setObjectName("actionSalva_Preset")
self.actionOpzioni = QtWidgets.QAction(mainwin)
self.actionOpzioni.setObjectName("actionOpzioni")
self.actionLingua = QtWidgets.QAction(mainwin)
self.actionLingua.setEnabled(True)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-globe-earth-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionLingua.setIcon(icon6)
self.actionLingua.setObjectName("actionLingua")
self.actionAvanzate = QtWidgets.QAction(mainwin)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionAvanzate.setIcon(icon7)
self.actionAvanzate.setObjectName("actionAvanzate")
self.actionManuale = QtWidgets.QAction(mainwin)
self.actionManuale.setEnabled(False)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-user-manual-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionManuale.setIcon(icon8)
self.actionManuale.setObjectName("actionManuale")
self.actionAbout_SPEx = QtWidgets.QAction(mainwin)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-info-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionAbout_SPEx.setIcon(icon9)
self.actionAbout_SPEx.setObjectName("actionAbout_SPEx")
self.bar_file.addAction(self.actionCarica_Preset)
self.bar_file.addAction(self.actionSalva_Preset)
self.menuOpzioni.addAction(self.actionAvanzate)
self.menuOpzioni.addAction(self.actionLingua)
self.menuAbout.addAction(self.actionAbout_SPEx)
self.menuAbout.addAction(self.actionManuale)
self.menubar.addAction(self.bar_file.menuAction())
self.menubar.addAction(self.menuOpzioni.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())
self.retranslateUi(mainwin)
QtCore.QMetaObject.connectSlotsByName(mainwin)
def retranslateUi(self, mainwin):
_translate = QtCore.QCoreApplication.translate
mainwin.setWindowTitle(_translate("mainwin", "12parsec - SPEx"))
self.label_4.setText(_translate("mainwin", "Finestra dei messaggi"))
self.label_3.setText(_translate("mainwin", "Preset corrente: "))
self.lbl_preset.setText(_translate("mainwin", "..."))
self.txt_log.setHtml(_translate("mainwin", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:6.6pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:7pt;\"><br /></p></body></html>"))
self.btn_cartellasorg.setText(_translate("mainwin", "-> "))
self.btn_cartelladest.setText(_translate("mainwin", "-> "))
self.lbl_cartellasorg.setText(_translate("mainwin", "Cartella sorgente"))
self.lbl_cartelladest.setText(_translate("mainwin", "Cartella destinazione"))
self.lbl_sorg.setText(_translate("mainwin", "..."))
self.lbl_dest.setText(_translate("mainwin", "..."))
self.label.setText(_translate("mainwin", "File disponibili per la conversione"))
self.label_2.setText(_translate("mainwin", "Versione dei File"))
self.rad_fileNew.setText(_translate("mainwin", "Nuova"))
self.rad_fileOld.setText(_translate("mainwin", "Vecchia"))
self.btn_avanti.setText(_translate("mainwin", "Avanti"))
self.wgt_main.setTabText(self.wgt_main.indexOf(self.wgt_mainPage1), _translate("mainwin", "Selezione Input"))
self.bar_file.setTitle(_translate("mainwin", "File"))
self.menuOpzioni.setTitle(_translate("mainwin", "Opzioni"))
self.menuAbout.setTitle(_translate("mainwin", "Help"))
self.actionCarica_Preset.setText(_translate("mainwin", "Carica Preset"))
self.actionSalva_Preset.setText(_translate("mainwin", "Salva Preset"))
self.actionOpzioni.setText(_translate("mainwin", "Opzioni"))
self.actionLingua.setText(_translate("mainwin", "Lingua Interfaccia"))
self.actionAvanzate.setText(_translate("mainwin", "Avanzate"))
self.actionManuale.setText(_translate("mainwin", "Manuale"))
self.actionAbout_SPEx.setText(_translate("mainwin", "About SPEx"))
import resources_rc

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,238 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'selezout.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_selezout(object):
def setupUi(self, selezout):
selezout.setObjectName("selezout")
selezout.resize(718, 573)
font = QtGui.QFont()
font.setFamily("Rockwell")
selezout.setFont(font)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(selezout)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.lbl_lingua = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_lingua.sizePolicy().hasHeightForWidth())
self.lbl_lingua.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_lingua.setFont(font)
self.lbl_lingua.setObjectName("lbl_lingua")
self.verticalLayout_2.addWidget(self.lbl_lingua)
self.line_2 = QtWidgets.QFrame(selezout)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.verticalLayout_2.addWidget(self.line_2)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.cmb_lingua = QtWidgets.QComboBox(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmb_lingua.sizePolicy().hasHeightForWidth())
self.cmb_lingua.setSizePolicy(sizePolicy)
self.cmb_lingua.setFrame(True)
self.cmb_lingua.setModelColumn(0)
self.cmb_lingua.setObjectName("cmb_lingua")
self.horizontalLayout_3.addWidget(self.cmb_lingua)
spacerItem = QtWidgets.QSpacerItem(40, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
self.lbl_indicazioni = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_indicazioni.sizePolicy().hasHeightForWidth())
self.lbl_indicazioni.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_indicazioni.setFont(font)
self.lbl_indicazioni.setObjectName("lbl_indicazioni")
self.verticalLayout_2.addWidget(self.lbl_indicazioni)
self.line = QtWidgets.QFrame(selezout)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout_2.addWidget(self.line)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout.setObjectName("verticalLayout")
self.rad_mainbodyEFile = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_mainbodyEFile.setFont(font)
self.rad_mainbodyEFile.setChecked(True)
self.rad_mainbodyEFile.setObjectName("rad_mainbodyEFile")
self.verticalLayout.addWidget(self.rad_mainbodyEFile)
self.rad_mainbody = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_mainbody.setFont(font)
self.rad_mainbody.setObjectName("rad_mainbody")
self.verticalLayout.addWidget(self.rad_mainbody)
self.rad_file = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_file.setFont(font)
self.rad_file.setObjectName("rad_file")
self.verticalLayout.addWidget(self.rad_file)
self.verticalLayout_2.addLayout(self.verticalLayout)
self.lbl_indicazioni_2 = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_indicazioni_2.sizePolicy().hasHeightForWidth())
self.lbl_indicazioni_2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_indicazioni_2.setFont(font)
self.lbl_indicazioni_2.setObjectName("lbl_indicazioni_2")
self.verticalLayout_2.addWidget(self.lbl_indicazioni_2)
self.line_3 = QtWidgets.QFrame(selezout)
self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.verticalLayout_2.addWidget(self.line_3)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.chk_removeDuplicates = QtWidgets.QCheckBox(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_removeDuplicates.sizePolicy().hasHeightForWidth())
self.chk_removeDuplicates.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_removeDuplicates.setFont(font)
self.chk_removeDuplicates.setObjectName("chk_removeDuplicates")
self.gridLayout.addWidget(self.chk_removeDuplicates, 0, 0, 1, 1)
self.chk_includeTitle = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_includeTitle.setFont(font)
self.chk_includeTitle.setObjectName("chk_includeTitle")
self.gridLayout.addWidget(self.chk_includeTitle, 0, 1, 1, 1)
self.chk_removeBreakWord = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_removeBreakWord.setFont(font)
self.chk_removeBreakWord.setObjectName("chk_removeBreakWord")
self.gridLayout.addWidget(self.chk_removeBreakWord, 1, 0, 1, 1)
self.chk_cleaDestFolder = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_cleaDestFolder.setFont(font)
self.chk_cleaDestFolder.setObjectName("chk_cleaDestFolder")
self.gridLayout.addWidget(self.chk_cleaDestFolder, 1, 1, 1, 1)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label.setFont(font)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
self.lin_specialChars = QtWidgets.QLineEdit(selezout)
self.lin_specialChars.setObjectName("lin_specialChars")
self.horizontalLayout.addWidget(self.lin_specialChars)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem1)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)
self.verticalLayout_2.addLayout(self.gridLayout)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem2)
self.line_4 = QtWidgets.QFrame(selezout)
self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_4.setObjectName("line_4")
self.verticalLayout_2.addWidget(self.line_4)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.btn_indietro = QtWidgets.QPushButton(selezout)
self.btn_indietro.setMinimumSize(QtCore.QSize(100, 40))
self.btn_indietro.setMaximumSize(QtCore.QSize(75, 16777215))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_indietro.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80-back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_indietro.setIcon(icon)
self.btn_indietro.setIconSize(QtCore.QSize(25, 25))
self.btn_indietro.setObjectName("btn_indietro")
self.horizontalLayout_2.addWidget(self.btn_indietro)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem3)
self.btn_split = QtWidgets.QPushButton(selezout)
self.btn_split.setMinimumSize(QtCore.QSize(100, 0))
self.btn_split.setMaximumSize(QtCore.QSize(16777215, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(12)
self.btn_split.setFont(font)
self.btn_split.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.btn_split.setLayoutDirection(QtCore.Qt.LeftToRight)
self.btn_split.setAutoFillBackground(False)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/logo4.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_split.setIcon(icon1)
self.btn_split.setIconSize(QtCore.QSize(40, 40))
self.btn_split.setFlat(False)
self.btn_split.setObjectName("btn_split")
self.horizontalLayout_2.addWidget(self.btn_split)
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
self.retranslateUi(selezout)
QtCore.QMetaObject.connectSlotsByName(selezout)
selezout.setTabOrder(self.cmb_lingua, self.rad_mainbodyEFile)
selezout.setTabOrder(self.rad_mainbodyEFile, self.rad_mainbody)
selezout.setTabOrder(self.rad_mainbody, self.rad_file)
selezout.setTabOrder(self.rad_file, self.chk_removeDuplicates)
selezout.setTabOrder(self.chk_removeDuplicates, self.chk_includeTitle)
selezout.setTabOrder(self.chk_includeTitle, self.chk_removeBreakWord)
selezout.setTabOrder(self.chk_removeBreakWord, self.chk_cleaDestFolder)
selezout.setTabOrder(self.chk_cleaDestFolder, self.lin_specialChars)
selezout.setTabOrder(self.lin_specialChars, self.btn_split)
selezout.setTabOrder(self.btn_split, self.btn_indietro)
def retranslateUi(self, selezout):
_translate = QtCore.QCoreApplication.translate
selezout.setWindowTitle(_translate("selezout", "Seleziona Linuga e Output"))
self.lbl_lingua.setText(_translate("selezout", "Seleziona la lingua degli articoli"))
self.lbl_indicazioni.setText(_translate("selezout", "Seleziona il tipo di file da salvare"))
self.rad_mainbodyEFile.setText(_translate("selezout", "Bodyfile + File singoli"))
self.rad_mainbody.setText(_translate("selezout", "Bodyfile"))
self.rad_file.setText(_translate("selezout", "File singoli"))
self.lbl_indicazioni_2.setText(_translate("selezout", "Altre Opzioni "))
self.chk_removeDuplicates.setText(_translate("selezout", "Tenta rimozione duplicati"))
self.chk_includeTitle.setText(_translate("selezout", "Includi titolo all\'interno del file"))
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_indietro.setText(_translate("selezout", "Indietro"))
self.btn_split.setText(_translate("selezout", "SPLITTA!"))
import resources_rc

View File

@@ -0,0 +1,362 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'titolow.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_titolo(object):
def setupUi(self, titolo):
titolo.setObjectName("titolo")
titolo.resize(715, 567)
font = QtGui.QFont()
font.setFamily("Rockwell")
titolo.setFont(font)
self.gridLayout = QtWidgets.QGridLayout(titolo)
self.gridLayout.setObjectName("gridLayout")
self.lyt_nchars = QtWidgets.QHBoxLayout()
self.lyt_nchars.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
self.lyt_nchars.setObjectName("lyt_nchars")
self.lbl_ncarat = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_ncarat.sizePolicy().hasHeightForWidth())
self.lbl_ncarat.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.lbl_ncarat.setFont(font)
self.lbl_ncarat.setObjectName("lbl_ncarat")
self.lyt_nchars.addWidget(self.lbl_ncarat)
self.spn_ncarat = QtWidgets.QSpinBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.spn_ncarat.sizePolicy().hasHeightForWidth())
self.spn_ncarat.setSizePolicy(sizePolicy)
self.spn_ncarat.setMinimumSize(QtCore.QSize(50, 0))
self.spn_ncarat.setWrapping(True)
self.spn_ncarat.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows)
self.spn_ncarat.setMinimum(3)
self.spn_ncarat.setMaximum(32)
self.spn_ncarat.setObjectName("spn_ncarat")
self.lyt_nchars.addWidget(self.spn_ncarat)
spacerItem = QtWidgets.QSpacerItem(40, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.lyt_nchars.addItem(spacerItem)
self.gridLayout.addLayout(self.lyt_nchars, 5, 0, 1, 3)
self.line_3 = QtWidgets.QFrame(titolo)
self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.gridLayout.addWidget(self.line_3, 7, 0, 1, 3)
self.line = QtWidgets.QFrame(titolo)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 3)
self.lyt_buttons = QtWidgets.QHBoxLayout()
self.lyt_buttons.setObjectName("lyt_buttons")
self.btn_avanzate = QtWidgets.QPushButton(titolo)
self.btn_avanzate.setMinimumSize(QtCore.QSize(120, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanzate.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanzate.setIcon(icon)
self.btn_avanzate.setIconSize(QtCore.QSize(30, 30))
self.btn_avanzate.setObjectName("btn_avanzate")
self.lyt_buttons.addWidget(self.btn_avanzate)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.lyt_buttons.addItem(spacerItem1)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.btn_indietro = QtWidgets.QPushButton(titolo)
self.btn_indietro.setMinimumSize(QtCore.QSize(100, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_indietro.setFont(font)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80-back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_indietro.setIcon(icon1)
self.btn_indietro.setIconSize(QtCore.QSize(25, 25))
self.btn_indietro.setObjectName("btn_indietro")
self.horizontalLayout_2.addWidget(self.btn_indietro)
self.btn_avanti = QtWidgets.QPushButton(titolo)
self.btn_avanti.setMinimumSize(QtCore.QSize(100, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanti.setFont(font)
self.btn_avanti.setLayoutDirection(QtCore.Qt.LeftToRight)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanti.setIcon(icon2)
self.btn_avanti.setIconSize(QtCore.QSize(25, 25))
self.btn_avanti.setObjectName("btn_avanti")
self.horizontalLayout_2.addWidget(self.btn_avanti)
self.lyt_buttons.addLayout(self.horizontalLayout_2)
self.gridLayout.addLayout(self.lyt_buttons, 15, 0, 1, 3)
self.lyt_date = QtWidgets.QVBoxLayout()
self.lyt_date.setObjectName("lyt_date")
self.rad_datajpn = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_datajpn.sizePolicy().hasHeightForWidth())
self.rad_datajpn.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_datajpn.setFont(font)
self.rad_datajpn.setChecked(True)
self.rad_datajpn.setObjectName("rad_datajpn")
self.lyt_date.addWidget(self.rad_datajpn)
self.rad_dataita = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_dataita.sizePolicy().hasHeightForWidth())
self.rad_dataita.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_dataita.setFont(font)
self.rad_dataita.setObjectName("rad_dataita")
self.lyt_date.addWidget(self.rad_dataita)
self.rad_datausa = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_datausa.sizePolicy().hasHeightForWidth())
self.rad_datausa.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_datausa.setFont(font)
self.rad_datausa.setObjectName("rad_datausa")
self.lyt_date.addWidget(self.rad_datausa)
self.gridLayout.addLayout(self.lyt_date, 3, 0, 1, 3)
self.lbl_impotit = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_impotit.sizePolicy().hasHeightForWidth())
self.lbl_impotit.setSizePolicy(sizePolicy)
self.lbl_impotit.setMinimumSize(QtCore.QSize(0, 0))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_impotit.setFont(font)
self.lbl_impotit.setObjectName("lbl_impotit")
self.gridLayout.addWidget(self.lbl_impotit, 0, 0, 1, 3)
self.chk_data = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_data.sizePolicy().hasHeightForWidth())
self.chk_data.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_data.setFont(font)
self.chk_data.setObjectName("chk_data")
self.gridLayout.addWidget(self.chk_data, 2, 0, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 9, 1, 1, 1)
self.chk_titolo = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_titolo.sizePolicy().hasHeightForWidth())
self.chk_titolo.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_titolo.setFont(font)
self.chk_titolo.setObjectName("chk_titolo")
self.gridLayout.addWidget(self.chk_titolo, 4, 0, 1, 2)
self.lyt_sep = QtWidgets.QFormLayout()
self.lyt_sep.setObjectName("lyt_sep")
self.rad_spazio = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_spazio.sizePolicy().hasHeightForWidth())
self.rad_spazio.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_spazio.setFont(font)
self.rad_spazio.setObjectName("rad_spazio")
self.btngrp_divisore = QtWidgets.QButtonGroup(titolo)
self.btngrp_divisore.setObjectName("btngrp_divisore")
self.btngrp_divisore.addButton(self.rad_spazio)
self.lyt_sep.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.rad_spazio)
self.rad_virgola = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_virgola.sizePolicy().hasHeightForWidth())
self.rad_virgola.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_virgola.setFont(font)
self.rad_virgola.setObjectName("rad_virgola")
self.btngrp_divisore.addButton(self.rad_virgola)
self.lyt_sep.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.rad_virgola)
self.rad_piu = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_piu.sizePolicy().hasHeightForWidth())
self.rad_piu.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_piu.setFont(font)
self.rad_piu.setObjectName("rad_piu")
self.btngrp_divisore.addButton(self.rad_piu)
self.lyt_sep.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.rad_piu)
self.rad_tratt = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_tratt.sizePolicy().hasHeightForWidth())
self.rad_tratt.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_tratt.setFont(font)
self.rad_tratt.setObjectName("rad_tratt")
self.btngrp_divisore.addButton(self.rad_tratt)
self.lyt_sep.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.rad_tratt)
self.rad_trattbass = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_trattbass.sizePolicy().hasHeightForWidth())
self.rad_trattbass.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_trattbass.setFont(font)
self.rad_trattbass.setObjectName("rad_trattbass")
self.btngrp_divisore.addButton(self.rad_trattbass)
self.lyt_sep.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.rad_trattbass)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.rad_altro = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_altro.sizePolicy().hasHeightForWidth())
self.rad_altro.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_altro.setFont(font)
self.rad_altro.setObjectName("rad_altro")
self.btngrp_divisore.addButton(self.rad_altro)
self.horizontalLayout_4.addWidget(self.rad_altro)
self.lin_altro = QtWidgets.QLineEdit(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lin_altro.sizePolicy().hasHeightForWidth())
self.lin_altro.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.lin_altro.setFont(font)
self.lin_altro.setText("")
self.lin_altro.setObjectName("lin_altro")
self.horizontalLayout_4.addWidget(self.lin_altro)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_4.addItem(spacerItem3)
self.lyt_sep.setLayout(2, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_4)
self.gridLayout.addLayout(self.lyt_sep, 9, 0, 1, 1)
self.label = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
self.label.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 8, 0, 1, 2)
self.line_2 = QtWidgets.QFrame(titolo)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayout.addWidget(self.line_2, 14, 0, 1, 3)
self.chk_docnum = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_docnum.sizePolicy().hasHeightForWidth())
self.chk_docnum.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_docnum.setFont(font)
self.chk_docnum.setChecked(True)
self.chk_docnum.setObjectName("chk_docnum")
self.gridLayout.addWidget(self.chk_docnum, 6, 0, 1, 2)
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem4, 13, 0, 1, 1)
self.retranslateUi(titolo)
QtCore.QMetaObject.connectSlotsByName(titolo)
titolo.setTabOrder(self.chk_data, self.rad_datajpn)
titolo.setTabOrder(self.rad_datajpn, self.rad_dataita)
titolo.setTabOrder(self.rad_dataita, self.rad_datausa)
titolo.setTabOrder(self.rad_datausa, self.chk_titolo)
titolo.setTabOrder(self.chk_titolo, self.spn_ncarat)
titolo.setTabOrder(self.spn_ncarat, self.chk_docnum)
titolo.setTabOrder(self.chk_docnum, self.rad_spazio)
titolo.setTabOrder(self.rad_spazio, self.rad_tratt)
titolo.setTabOrder(self.rad_tratt, self.rad_virgola)
titolo.setTabOrder(self.rad_virgola, self.rad_trattbass)
titolo.setTabOrder(self.rad_trattbass, self.rad_piu)
titolo.setTabOrder(self.rad_piu, self.rad_altro)
titolo.setTabOrder(self.rad_altro, self.lin_altro)
titolo.setTabOrder(self.lin_altro, self.btn_avanzate)
titolo.setTabOrder(self.btn_avanzate, self.btn_avanti)
titolo.setTabOrder(self.btn_avanti, self.btn_indietro)
def retranslateUi(self, titolo):
_translate = QtCore.QCoreApplication.translate
titolo.setWindowTitle(_translate("titolo", "Nomi file di Uscita"))
self.lbl_ncarat.setText(_translate("titolo", "Numero di caratteri"))
self.btn_avanzate.setText(_translate("titolo", "Opzioni Avanzate (Titolo)"))
self.btn_indietro.setText(_translate("titolo", "Indietro"))
self.btn_avanti.setText(_translate("titolo", "Avanti"))
self.rad_datajpn.setText(_translate("titolo", "YYYY MM DD, es. 20001231 (jpn)"))
self.rad_dataita.setText(_translate("titolo", "DD MM YYYY, es. 31122000 (ita)"))
self.rad_datausa.setText(_translate("titolo", "MM DD YYYY, es. 12312000 (us)"))
self.lbl_impotit.setText(_translate("titolo", "Impostazioni nome file in uscita"))
self.chk_data.setText(_translate("titolo", "Data"))
self.chk_titolo.setText(_translate("titolo", "Titolo articolo"))
self.rad_spazio.setText(_translate("titolo", "Spazio"))
self.rad_virgola.setText(_translate("titolo", ","))
self.rad_piu.setText(_translate("titolo", "+"))
self.rad_tratt.setText(_translate("titolo", "-"))
self.rad_trattbass.setText(_translate("titolo", "_"))
self.rad_altro.setText(_translate("titolo", "Altro:"))
self.label.setText(_translate("titolo", "Separatore"))
self.chk_docnum.setText(_translate("titolo", "Numero documento"))
import resources_rc

View File

@@ -0,0 +1,540 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>mainwin</class>
<widget class="QMainWindow" name="mainwin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>680</width>
<height>620</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="windowTitle">
<string>12parsec - SPEx</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/logo2.png</normaloff>:/ico/icons/logo2.png</iconset>
</property>
<property name="animated">
<bool>false</bool>
</property>
<property name="dockOptions">
<set>QMainWindow::AllowTabbedDocks</set>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_4">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Finestra dei messaggi</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Preset corrente: </string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_preset">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QTextEdit" name="txt_log">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>100</height>
</size>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(0,0,0);</string>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:6.6pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textInteractionFlags">
<set>Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QTabWidget" name="wgt_main">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<widget class="QWidget" name="wgt_mainPage1">
<attribute name="title">
<string>Selezione Input</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<widget class="QPushButton" name="btn_cartellasorg">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>-&gt; </string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-add-folder-80.png</normaloff>:/ico/icons/icons8-add-folder-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cartelladest">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>-&gt; </string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-downloads-folder-80.png</normaloff>:/ico/icons/icons8-downloads-folder-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_cartellasorg">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella sorgente</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_cartelladest">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella destinazione</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="2">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="lbl_sorg">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_dest">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="4">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0" colspan="4">
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>File disponibili per la conversione</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="0" colspan="4">
<widget class="QListWidget" name="lst_files">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>180</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Versione dei File</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_fileNew">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Nuova</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_fileOld">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Vecchia</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_avanti">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>Avanti</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80.png</normaloff>:/ico/icons/icons8-arrow-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>680</width>
<height>26</height>
</rect>
</property>
<property name="nativeMenuBar">
<bool>true</bool>
</property>
<widget class="QMenu" name="bar_file">
<property name="title">
<string>File</string>
</property>
<addaction name="actionCarica_Preset"/>
<addaction name="actionSalva_Preset"/>
</widget>
<widget class="QMenu" name="menuOpzioni">
<property name="title">
<string>Opzioni</string>
</property>
<addaction name="actionAvanzate"/>
<addaction name="actionLingua"/>
</widget>
<widget class="QMenu" name="menuAbout">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionAbout_SPEx"/>
<addaction name="actionManuale"/>
</widget>
<addaction name="bar_file"/>
<addaction name="menuOpzioni"/>
<addaction name="menuAbout"/>
</widget>
<action name="actionCarica_Preset">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-documents-folder-80.png</normaloff>:/ico/icons/icons8-documents-folder-80.png</iconset>
</property>
<property name="text">
<string>Carica Preset</string>
</property>
<property name="iconVisibleInMenu">
<bool>true</bool>
</property>
</action>
<action name="actionSalva_Preset">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-save-80.png</normaloff>:/ico/icons/icons8-save-80.png</iconset>
</property>
<property name="text">
<string>Salva Preset</string>
</property>
</action>
<action name="actionOpzioni">
<property name="text">
<string>Opzioni</string>
</property>
</action>
<action name="actionLingua">
<property name="enabled">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-globe-earth-80.png</normaloff>:/ico/icons/icons8-globe-earth-80.png</iconset>
</property>
<property name="text">
<string>Lingua Interfaccia</string>
</property>
</action>
<action name="actionAvanzate">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<property name="text">
<string>Avanzate</string>
</property>
</action>
<action name="actionManuale">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-user-manual-80.png</normaloff>:/ico/icons/icons8-user-manual-80.png</iconset>
</property>
<property name="text">
<string>Manuale</string>
</property>
</action>
<action name="actionAbout_SPEx">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-info-80.png</normaloff>:/ico/icons/icons8-info-80.png</iconset>
</property>
<property name="text">
<string>About SPEx</string>
</property>
</action>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,418 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>selezout</class>
<widget class="QWidget" name="selezout">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>718</width>
<height>573</height>
</rect>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Seleziona Linuga e Output</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="lbl_lingua">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona la lingua degli articoli</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QComboBox" name="cmb_lingua">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>true</bool>
</property>
<property name="modelColumn">
<number>0</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lbl_indicazioni">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona il tipo di file da salvare</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
<item>
<widget class="QRadioButton" name="rad_mainbodyEFile">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Bodyfile + File singoli</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_mainbody">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Bodyfile</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_file">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>File singoli</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lbl_indicazioni_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Altre Opzioni </string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="chk_removeDuplicates">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Tenta rimozione duplicati</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="chk_includeTitle">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Includi titolo all'interno del file</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chk_removeBreakWord">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Rimuovi interruzioni parola (a capo)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="chk_cleaDestFolder">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Svuota cartella di destinazione</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Caratteri speciali da rimuovere </string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lin_specialChars"/>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btn_indietro">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Indietro</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80-back.png</normaloff>:/ico/icons/icons8-arrow-80-back.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_split">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>SPLITTA!</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/logo4.png</normaloff>:/ico/icons/logo4.png</iconset>
</property>
<property name="iconSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>cmb_lingua</tabstop>
<tabstop>rad_mainbodyEFile</tabstop>
<tabstop>rad_mainbody</tabstop>
<tabstop>rad_file</tabstop>
<tabstop>chk_removeDuplicates</tabstop>
<tabstop>chk_includeTitle</tabstop>
<tabstop>chk_removeBreakWord</tabstop>
<tabstop>chk_cleaDestFolder</tabstop>
<tabstop>lin_specialChars</tabstop>
<tabstop>btn_split</tabstop>
<tabstop>btn_indietro</tabstop>
</tabstops>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,615 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>titolo</class>
<widget class="QWidget" name="titolo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>715</width>
<height>567</height>
</rect>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Nomi file di Uscita</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="5" column="0" colspan="3">
<layout class="QHBoxLayout" name="lyt_nchars">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>
<item>
<widget class="QLabel" name="lbl_ncarat">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Numero di caratteri</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spn_ncarat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="wrapping">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="minimum">
<number>3</number>
</property>
<property name="maximum">
<number>32</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="7" column="0" colspan="3">
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="15" column="0" colspan="3">
<layout class="QHBoxLayout" name="lyt_buttons">
<item>
<widget class="QPushButton" name="btn_avanzate">
<property name="minimumSize">
<size>
<width>120</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Opzioni Avanzate (Titolo)</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btn_indietro">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Indietro</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80-back.png</normaloff>:/ico/icons/icons8-arrow-80-back.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_avanti">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>Avanti</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80.png</normaloff>:/ico/icons/icons8-arrow-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="3" column="0" colspan="3">
<layout class="QVBoxLayout" name="lyt_date">
<item>
<widget class="QRadioButton" name="rad_datajpn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>YYYY MM DD, es. 20001231 (jpn)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_dataita">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>DD MM YYYY, es. 31122000 (ita)</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_datausa">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>MM DD YYYY, es. 12312000 (us)</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="lbl_impotit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Impostazioni nome file in uscita</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="chk_data">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item row="9" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="chk_titolo">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Titolo articolo</string>
</property>
</widget>
</item>
<item row="9" column="0">
<layout class="QFormLayout" name="lyt_sep">
<item row="0" column="0">
<widget class="QRadioButton" name="rad_spazio">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Spazio</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="rad_virgola">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>,</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="rad_piu">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>+</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="rad_tratt">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>-</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="rad_trattbass">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>_</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QRadioButton" name="rad_altro">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Altro:</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lin_altro">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item row="8" column="0" colspan="2">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Separatore</string>
</property>
</widget>
</item>
<item row="14" column="0" colspan="3">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="chk_docnum">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Numero documento</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<tabstops>
<tabstop>chk_data</tabstop>
<tabstop>rad_datajpn</tabstop>
<tabstop>rad_dataita</tabstop>
<tabstop>rad_datausa</tabstop>
<tabstop>chk_titolo</tabstop>
<tabstop>spn_ncarat</tabstop>
<tabstop>chk_docnum</tabstop>
<tabstop>rad_spazio</tabstop>
<tabstop>rad_tratt</tabstop>
<tabstop>rad_virgola</tabstop>
<tabstop>rad_trattbass</tabstop>
<tabstop>rad_piu</tabstop>
<tabstop>rad_altro</tabstop>
<tabstop>lin_altro</tabstop>
<tabstop>btn_avanzate</tabstop>
<tabstop>btn_avanti</tabstop>
<tabstop>btn_indietro</tabstop>
</tabstops>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
<buttongroups>
<buttongroup name="btngrp_divisore"/>
</buttongroups>
</ui>

1
SPEx/spex/__init__.py Normal file
View File

@@ -0,0 +1 @@
__version__ = '0.1.0'

660
SPEx/spex/guimain.py Normal file
View File

@@ -0,0 +1,660 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
TODO LIST
1. rendere threaded lo splitter.. tentativo colore 100..
'''
import sys
import copy
import json
import os
from mainwindow import Ui_mainwin
from selezout import Ui_selezout
from titolow import Ui_titolo
from avanzatetitolo3 import Ui_advtitolo3 as Ui_advtitolo
from advopt import Ui_editconf
from about import Ui_about
from libfancylogger import fancyLogger
from libconfload import bananaCONF
from libsplit import bananaSPLITTER
import PyQt5.QtGui
from PyQt5.QtCore import QDir, QSize, QTranslator, pyqtSlot, pyqtSignal
from PyQt5.QtWidgets import QMessageBox, QSizePolicy, QInputDialog
#modo brutto per mettere la lista delle lingue in un posto solo
langlist = ['it', 'en']
class bananaMain(PyQt5.QtWidgets.QMainWindow):
def __init__(self, logger=None, confloader=None):
PyQt5.QtWidgets.QMainWindow.__init__(self)
self.logger = logger
self.conf = confloader
# inizializzazione interfaccia
self.ui = Ui_mainwin()
self.ui.setupUi(self)
self.titolo = bananaTitolo(self.conf, self.logger)
self.titoloav = bananaTitoloAvanzate(self.conf, self.logger)
self.selezout = bananaSelezOut(self.conf, self.logger)
self.advopt = bananaAdvOpt(self.conf, self.logger)
#popola le tab con le finestre giuste
self.ui.wgt_main.addTab(self.titolo, self.tr("Impostazioni Titolo"))
self.ui.wgt_main.addTab(self.selezout, self.tr("Selezione Output"))
# connetti bottoni avanti
self.ui.btn_avanti.clicked.connect(self.nextTab)
self.titolo.titoloui.btn_avanti.clicked.connect(self.nextTab)
#connetti bottoni indietro
self.titolo.titoloui.btn_indietro.clicked.connect(self.prevTab)
self.selezout.selezoutui.btn_indietro.clicked.connect(self.prevTab)
#connetti bottoni selezione cartelle
self.ui.btn_cartellasorg.clicked.connect(self.selezSorg)
self.ui.btn_cartelladest.clicked.connect(self.selezDest)
#connetti action tab
self.ui.actionLingua.triggered.connect(self.openLanguage)
self.ui.actionAvanzate.triggered.connect(self.openAdvOpt)
self.ui.actionCarica_Preset.triggered.connect(self.openLoadPreset)
self.ui.actionSalva_Preset.triggered.connect(self.openSavePreset)
self.ui.actionAbout_SPEx.triggered.connect(self.openAbout)
#connetti i radbutton versione
self.ui.rad_fileNew.clicked.connect(self.selezVers)
self.ui.rad_fileOld.clicked.connect(self.selezVers)
#connetti segnali delle sottointerfacce
self.advopt.update.connect(self.fillAllInterfaces)
self.logger.sendLog.connect(self.appendLog)
#riempi pagine di interfaccia
self.fillAllInterfaces()
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
self.setFixedSize(QSize(self.conf.getParam(
'settings', 'winW'), self.conf.getParam('settings', 'winH')))
def fillInterface(self):
#pagina principale
try:
self.ui.lbl_preset.setText(self.conf.inUse.replace('.json', ''))
self.ui.lbl_sorg.setText(self.conf.getParam('paths', 'INworkPath'))
self.ui.lbl_dest.setText(self.conf.getParam('paths', 'OUTworkPath'))
self.ui.rad_fileNew.setChecked(
self.conf.getParam('docStruct', 'fileVersNew'))
self.ui.rad_fileOld.setChecked(
not self.conf.getParam('docStruct', 'fileVersNew'))
self.fillFileList()
except:
self.log.critical(self.tr("MainWindow: Configurazione non accettata"))
def fillAllInterfaces(self):
self.fillInterface()
self.titolo.fillInterface()
self.titoloav.fillInterface()
self.selezout.fillInterface()
self.advopt.fillInterface()
def fillFileList(self):
fl = QDir(self.conf.getParam('paths', 'INworkPath'))
fl.setNameFilters(['*.txt', '*.TXT'])
fl = fl.entryList(QDir.NoDotAndDotDot | QDir.Files)
self.ui.lst_files.clear()
for f in fl:
self.ui.lst_files.addItem(PyQt5.QtWidgets.QListWidgetItem(f))
self.conf.setParam(('paths', 'fileList'), fl)
def nextTab(self):
self.ui.wgt_main.setCurrentIndex(self.ui.wgt_main.currentIndex()+1)
self.logger.debug(self.tr("Prossima Tab"))
def prevTab(self):
self.ui.wgt_main.setCurrentIndex(self.ui.wgt_main.currentIndex()-1)
self.logger.debug(self.tr("Tab Precedente"))
def openLoadPreset(self):
self.logger.debug(self.tr("Apri Carica Preset"))
lf = PyQt5.QtWidgets.QFileDialog(self, self.tr(
"Carica Preset"), self.conf.getParam('paths', 'configurationPath'))
lf.setAcceptMode(PyQt5.QtWidgets.QFileDialog.AcceptOpen)
lf.setFileMode(PyQt5.QtWidgets.QFileDialog.ExistingFile)
lf.setNameFilter("bananaCONF (*.json)")
if lf.exec():
cf = str(lf.selectedFiles()[0].split('/')[-1])
self.logger.info(self.tr(f"Apro la configurazione: {cf}"))
self.conf.open()
self.conf.use(cf)
self.logger.debug(self.tr("Riempio tutte le tab"))
self.fillAllInterfaces()
def openSavePreset(self):
self.logger.debug(self.tr("Apri Salva Preset"))
self.applicaTutto()
sf = PyQt5.QtWidgets.QFileDialog(
self, "Salva Preset", self.conf.getParam('paths', 'configurationPath'))
sf.setAcceptMode(PyQt5.QtWidgets.QFileDialog.AcceptSave)
sf.setNameFilter("bananaCONF (*.json)")
if sf.exec():
rv = str(sf.selectedFiles()[0].split('/')[-1])
self.conf.setParam(('paths', 'lastUsed'), rv)
#scrivi quale file e' stato usato per ultimo nel default
prev = self.conf.inUse
self.conf.use("defaults.json")
self.conf.setParam(('paths', 'lastUsed'), rv)
self.conf.save(fName="defaults.json")
self.conf.use(prev)
##
self.logger.debug(self.tr(f"Scrivo la configurazione: {rv}"))
self.conf.save(fName=rv)
def openAdvOpt(self):
self.logger.debug(self.tr("Apri Opzioni Avanzate"))
self.advopt.fillInterface()
self.advopt.show()
def openLanguage(self):
global langlist
self.logger.debug(self.tr("Apri Opzioni Lingua"))
flag = False
lang, flag = QInputDialog.getItem(self, self.tr(
"Lingua"), self.tr("Disponibili"), langlist, 0, False)
if flag:
self.conf.setParam(('settings', 'uiLang'), lang)
else:
pass
def openAbout(self):
self.logger.debug(self.tr("Apri Finestra About"))
self.spxabt = spexAbout(confloader=self.conf)
def selezSorg(self):
rv = PyQt5.QtWidgets.QFileDialog.getExistingDirectory(self, self.tr(
"Seleziona Cartella Sorgente"), self.conf.getParam('paths', 'INworkPath'))
if rv != "":
self.conf.setParam(keys=('paths', 'INworkPath',), val=rv+"/")
self.ui.lbl_sorg.setText(rv)
self.logger.info(
self.tr("Selezionata Cartella Sorgente: {}").format(rv+"/"))
self.fillFileList()
def selezDest(self):
rv = PyQt5.QtWidgets.QFileDialog.getExistingDirectory(self, self.tr(
"Seleziona Cartella Destinazione"), self.conf.getParam('paths', 'OUTworkPath'))
if rv != "":
self.conf.setParam(keys=('paths', 'OUTworkPath',), val=rv+"/")
self.ui.lbl_dest.setText(rv)
self.logger.info(
self.tr("Selezionata Cartella Destinazione: {}").format(rv+"/"))
def selezVers(self):
self.conf.setParam(('docStruct', 'fileVersNew'),
self.ui.rad_fileNew.isChecked())
self.logger.debug(self.tr(f"Selezionata Versione File"))
def openFileDialog(self, name, path):
self.log.debug(self.tr("Apro in directory: {}").format(path))
return
def applicaTutto(self):
self.titolo.applica()
self.selezout.applica()
def appendLog(self, msg):
self.ui.txt_log.append(msg)
#############################################################
####################### INTERFACES ##########################
#############################################################
class bananaTitolo(PyQt5.QtWidgets.QWidget):
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self)
self.titoloui = Ui_titolo()
self.titoloui.setupUi(self)
self.conf = confloader
self.log = logger
if self.conf is not None:
self.titoloui.btn_avanzate.clicked.connect(self.spawnAvanzate)
self.titoloui.btn_avanti.clicked.connect(self.applica)
self.advtitolo = bananaTitoloAvanzate(confloader, self.log)
self.fillInterface()
def fillInterface(self):
try:
# imposta predefiniti interfaccia da file
#Data (la piu complicata)
self.titoloui.chk_data.setChecked(
self.conf.getParam('docStruct', 'outDate'))
self.titoloui.rad_datajpn.setChecked(
self.conf.getParam('docStruct', 'outDateType') == 'jpn')
self.titoloui.rad_dataita.setChecked(
self.conf.getParam('docStruct', 'outDateType') == 'it')
self.titoloui.rad_datausa.setChecked(
self.conf.getParam('docStruct', 'outDateType') == 'usa')
#Titolo
self.titoloui.chk_titolo.setChecked(
self.conf.getParam('docStruct', 'outTitle'))
self.titoloui.spn_ncarat.setValue(
self.conf.getParam('docStruct', 'maxTitleLen'))
#Numero Documento
self.titoloui.chk_docnum.setChecked(
self.conf.getParam('docStruct', 'outNumber'))
#Separatore
found = False
for itmn in range(self.titoloui.lyt_sep.count()):
itm = self.titoloui.lyt_sep.itemAt(itmn).widget()
if isinstance(itm, PyQt5.QtWidgets.QRadioButton):
if itm.text() == self.conf.getParam('docStruct', 'outNameSep'):
itm.setChecked(True)
found = True
if not found:
self.titoloui.rad_altro.setChecked(True)
self.titoloui.lin_altro.setText(
self.conf.getParam('docStruct', 'customSep'))
#finestra avanzate
self.advtitolo.fillInterface()
except:
self.log.critical(self.tr("Titolo: Configurazione non accettata"))
def spawnAvanzate(self):
self.log.debug(self.tr("Mostro la finestra avanzate titolo"))
self.advtitolo.show()
def applica(self):
self.log.info(self.tr("Applico impostazioni Titolo"))
self.conf.setParam(('docStruct', 'outDate'),
self.titoloui.chk_data.isChecked())
self.conf.setParam(('docStruct', 'outNumber'),
self.titoloui.chk_docnum.isChecked())
self.conf.setParam(('docStruct', 'outTitle'),
self.titoloui.chk_titolo.isChecked())
if self.titoloui.rad_dataita.isChecked():
self.conf.setParam(('docStruct', 'outDateType'), 'ita')
elif self.titoloui.rad_datajpn.isChecked():
self.conf.setParam(('docStruct', 'outDateType'), 'jpn')
elif self.titoloui.rad_datausa.isChecked():
self.conf.setParam(('docStruct', 'outDateType'), 'usa')
self.conf.setParam(('docStruct', 'maxTitleLen'),
self.titoloui.spn_ncarat.value())
self.conf.setParam(('docStruct', 'customSep'),
self.titoloui.lin_altro.text())
for itmn in range(self.titoloui.lyt_sep.count()):
itm = self.titoloui.lyt_sep.itemAt(itmn).widget()
if isinstance(itm, PyQt5.QtWidgets.QRadioButton):
if len(itm.text()) == 1 and itm.isChecked():
self.conf.setParam(('docStruct', 'outNameSep'), itm.text())
self.advtitolo.applica()
class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget):
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self)
self.titoloavui = Ui_advtitolo()
self.titoloavui.setupUi(self)
self.titoloavui.btn_OK.clicked.connect(self.returnOk)
self.titoloavui.btn_annulla.clicked.connect(self.returnKo)
self.titoloavui.rad_dataprimo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_datasecondo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_dataterzo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_numeroprimo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_numerosecondo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_numeroterzo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_titoloprimo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_titolosecondo.clicked.connect(self.gestisciBottoni)
self.titoloavui.rad_titoloterzo.clicked.connect(self.gestisciBottoni)
self.conf = confloader
self.log = logger
self.fillInterface()
def fillInterface(self):
try:
#rimepi interfaccia
self.titoloavui.rad_dataprimo.setChecked(
self.conf.getParam('docStruct', 'datePos') == 1)
self.titoloavui.rad_datasecondo.setChecked(
self.conf.getParam('docStruct', 'datePos') == 2)
self.titoloavui.rad_dataterzo.setChecked(
self.conf.getParam('docStruct', 'datePos') == 3)
self.titoloavui.rad_titoloprimo.setChecked(
self.conf.getParam('docStruct', 'titlePos') == 1)
self.titoloavui.rad_titolosecondo.setChecked(
self.conf.getParam('docStruct', 'titlePos') == 2)
self.titoloavui.rad_titoloterzo.setChecked(
self.conf.getParam('docStruct', 'titlePos') == 3)
self.titoloavui.rad_numeroprimo.setChecked(
self.conf.getParam('docStruct', 'numberPos') == 1)
self.titoloavui.rad_numerosecondo.setChecked(
self.conf.getParam('docStruct', 'numberPos') == 2)
self.titoloavui.rad_numeroterzo.setChecked(
self.conf.getParam('docStruct', 'numberPos') == 3)
self.titoloavui.txt_prefisso.setText(
self.conf.getParam('docStruct', 'outPrefix'))
self.titoloavui.txt_suffisso.setText(
self.conf.getParam('docStruct', 'outSuffix'))
except:
self.log.critical(self.tr("AvanzateTitolo: Configurazione non accettata"))
def gestisciBottoni(self):
#PRIMO
if self.titoloavui.rad_numeroprimo.isChecked():
self.titoloavui.rad_dataprimo.setChecked(False)
self.titoloavui.rad_titoloprimo.setChecked(False)
self.titoloavui.rad_numerosecondo.setChecked(False)
self.titoloavui.rad_numeroterzo.setChecked(False)
if self.titoloavui.rad_dataprimo.isChecked():
self.titoloavui.rad_numeroprimo.setChecked(False)
self.titoloavui.rad_titoloprimo.setChecked(False)
self.titoloavui.rad_datasecondo.setChecked(False)
self.titoloavui.rad_dataterzo.setChecked(False)
if self.titoloavui.rad_titoloprimo.isChecked():
self.titoloavui.rad_numeroprimo.setChecked(False)
self.titoloavui.rad_dataprimo.setChecked(False)
self.titoloavui.rad_titolosecondo.setChecked(False)
self.titoloavui.rad_titoloterzo.setChecked(False)
#secondo
if self.titoloavui.rad_numerosecondo.isChecked():
self.titoloavui.rad_datasecondo.setChecked(False)
self.titoloavui.rad_titolosecondo.setChecked(False)
self.titoloavui.rad_numeroprimo.setChecked(False)
self.titoloavui.rad_numeroterzo.setChecked(False)
if self.titoloavui.rad_datasecondo.isChecked():
self.titoloavui.rad_numerosecondo.setChecked(False)
self.titoloavui.rad_titolosecondo.setChecked(False)
self.titoloavui.rad_dataprimo.setChecked(False)
self.titoloavui.rad_dataterzo.setChecked(False)
if self.titoloavui.rad_titolosecondo.isChecked():
self.titoloavui.rad_numerosecondo.setChecked(False)
self.titoloavui.rad_datasecondo.setChecked(False)
self.titoloavui.rad_titoloprimo.setChecked(False)
self.titoloavui.rad_titoloterzo.setChecked(False)
#terzo
if self.titoloavui.rad_numeroterzo.isChecked():
self.titoloavui.rad_dataterzo.setChecked(False)
self.titoloavui.rad_titoloterzo.setChecked(False)
self.titoloavui.rad_numeroprimo.setChecked(False)
self.titoloavui.rad_numerosecondo.setChecked(False)
if self.titoloavui.rad_dataterzo.isChecked():
self.titoloavui.rad_numeroterzo.setChecked(False)
self.titoloavui.rad_titoloterzo.setChecked(False)
self.titoloavui.rad_dataprimo.setChecked(False)
self.titoloavui.rad_datasecondo.setChecked(False)
if self.titoloavui.rad_titoloterzo.isChecked():
self.titoloavui.rad_numeroterzo.setChecked(False)
self.titoloavui.rad_dataterzo.setChecked(False)
self.titoloavui.rad_titoloprimo.setChecked(False)
self.titoloavui.rad_titolosecondo.setChecked(False)
def returnOk(self):
self.log.info(self.tr("Avanzate Titolo Accettate"))
self.applica()
self.hide()
def returnKo(self):
self.log.info(self.tr("Avanzate Titolo Rifiutate"))
self.hide()
def applica(self):
#data
if self.titoloavui.rad_dataprimo.isChecked():
self.conf.setParam(('docStruct', 'datePos'), 1)
elif self.titoloavui.rad_datasecondo.isChecked():
self.conf.setParam(('docStruct', 'datePos'), 2)
elif self.titoloavui.rad_dataterzo.isChecked():
self.conf.setParam(('docStruct', 'datePos'), 3)
else:
self.conf.setParam(('docStruct', 'datePos'), -1)
#numero
if self.titoloavui.rad_numeroprimo.isChecked():
self.conf.setParam(('docStruct', 'numberPos'), 1)
elif self.titoloavui.rad_numerosecondo.isChecked():
self.conf.setParam(('docStruct', 'numberPos'), 2)
elif self.titoloavui.rad_numeroterzo.isChecked():
self.conf.setParam(('docStruct', 'numberPos'), 3)
else:
self.conf.setParam(('docStruct', 'numberPos'), -1)
#titolo
if self.titoloavui.rad_titoloprimo.isChecked():
self.conf.setParam(('docStruct', 'titlePos'), 1)
elif self.titoloavui.rad_titolosecondo.isChecked():
self.conf.setParam(('docStruct', 'titlePos'), 2)
elif self.titoloavui.rad_titoloterzo.isChecked():
self.conf.setParam(('docStruct', 'titlePos'), 3)
else:
self.conf.setParam(('docStruct', 'titlePos'), -1)
#prefisso e suffisso
self.conf.setParam(('docStruct', 'outPrefix'),
self.titoloavui.txt_prefisso.text())
self.conf.setParam(('docStruct', 'outSuffix'),
self.titoloavui.txt_suffisso.text())
class bananaSelezOut(PyQt5.QtWidgets.QWidget):
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self)
self.selezoutui = Ui_selezout()
self.selezoutui.setupUi(self)
self.conf = confloader
self.log = logger
if self.conf is not None:
self.selezoutui.btn_split.clicked.connect(self.applica)
self.selezoutui.btn_split.clicked.connect(self.splitta)
self.fillInterface()
def fillInterface(self):
try:
self.selezoutui.cmb_lingua.clear()
self.selezoutui.cmb_lingua.addItems(
self.conf.settingsList['languageconf.json'].keys())
self.selezoutui.cmb_lingua.setCurrentIndex(
self.conf.getParam('docStruct', 'languageIdx'))
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'))
self.selezoutui.chk_cleaDestFolder.setChecked(
self.conf.getParam('settings', 'removeOldFiles'))
self.selezoutui.lin_specialChars.setText(
''.join(self.conf.getParam('settings', 'delChars')))
except:
self.log.critical(self.tr("SelezUscita: Configurazione non accettata"))
def applica(self):
self.log.info(self.tr("Applico Impostazioni File Uscita"))
self.conf.setParam(('docStruct', 'language'),
self.selezoutui.cmb_lingua.currentText())
self.conf.setParam(('docStruct', 'languageIdx'),
self.selezoutui.cmb_lingua.currentIndex())
self.conf.setParam(('settings', 'saveBodyFile'), self.selezoutui.rad_mainbody.isChecked()
| self.selezoutui.rad_mainbodyEFile.isChecked())
self.conf.setParam(('settings', 'saveSeparateFiles'), self.selezoutui.rad_file.isChecked()
| self.selezoutui.rad_mainbodyEFile.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', 'delWordBreak'),
self.selezoutui.chk_removeBreakWord.isChecked())
self.conf.setParam(('settings', 'removeOldFiles'),
self.selezoutui.chk_cleaDestFolder.isChecked())
self.conf.setParam(('settings', 'delChars'), list(
self.selezoutui.lin_specialChars.text()))
def splitta(self):
# costruisco il dizionario di configurazione
prefile = self.conf.inUse
splconf = copy.deepcopy(self.conf.dump())
lang = copy.deepcopy(self.conf.use(
'languageconf.json').getParam(splconf['docStruct']['language']))
splconf['docStruct']['language'] = lang
self.conf.use(prefile)
#formato nome in uscita
nametemp = []
for i in range(1, 4):
if i == splconf['docStruct']['numberPos'] and splconf['docStruct']['outNumber']:
nametemp.append("{docnum}")
if i == splconf['docStruct']['datePos'] and splconf['docStruct']['outDate']:
nametemp.append(splconf['docStruct']['dateFormats']
[splconf['docStruct']['outDateType']])
if i == splconf['docStruct']['titlePos'] and splconf['docStruct']['outTitle']:
nametemp.append("{title}")
pass
if splconf['docStruct']['outPrefix'] != '':
# inserisco prefisso e suffisso
nametemp.insert(0, splconf['docStruct']['outPrefix'])
if splconf['docStruct']['outSuffix'] != '':
nametemp.append(splconf['docStruct']['outSuffix'])
#unisco i pezzi
splconf['docStruct']['outNameFormat'] = splconf['docStruct']['outNameSep'].join(
nametemp)+splconf['docStruct']['outExt']
#costruisco messageBox
msgb = QMessageBox(parent=self, icon=QMessageBox.Warning,
text=self.tr("Sto SPLITTANDO, attendi.."))
msgb.setWindowTitle(self.tr("Sto Splittando.."))
msgb.show()
@pyqtSlot()
def updateState(msg):
msgb.setText(msg)
# costruisco i thread
tDict = {}
try:
for f in splconf['paths']['fileList']:
splconf['name'] = f
tDict[f] = bananaSPLITTER(
fileParams=copy.deepcopy(splconf), logger=self.log)
tDict[f].sendStatus.connect(updateState)
tDict[f].run()
#QThreadPool.globalInstance().start(tDict[f])
except Exception as e:
self.log.error(self.tr(f"Impossibile avviare lo splitter: {e}"))
msgb.setText(self.tr("FINITO!"))
class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
update = pyqtSignal()
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self)
self.advoptui = Ui_editconf()
self.advoptui.setupUi(self)
self.conf = confloader
self.log = logger
self.errmsg = None
if self.conf is not None:
self.advoptui.btn_ok.clicked.connect(self.accetta)
self.advoptui.btn_cancel.clicked.connect(self.rifiuta)
self.fillInterface()
def fillInterface(self):
try:
self.advoptui.txt_confFile.setPlainText(
json.dumps(self.conf.dump(), indent=2))
except:
self.log.critical(self.tr("AdvancedOptions: Configurazione non accettata"))
def accetta(self):
self.errmsg = QMessageBox()
self.errmsg.setModal(True)
self.errmsg.setWindowTitle(self.tr("Avanzate Globali"))
icon = PyQt5.QtGui.QIcon()
icon.addPixmap(PyQt5.QtGui.QPixmap(":/icons/icons8-smartphone-ram-100.png"),
PyQt5.QtGui.QIcon.Normal, PyQt5.QtGui.QIcon.Off)
self.errmsg.setWindowIcon(icon)
try:
self.conf.loads(self.advoptui.txt_confFile.toPlainText())
self.log.info(
self.tr("Parametri inseriti validi, configurazione accettata"))
self.errmsg.setIcon(QMessageBox.Information)
self.errmsg.setText(
self.tr("Parametri inseriti validi, configurazione accettata"))
self.errmsg.show()
self.update.emit()
self.hide()
except Exception as e:
self.log.error(self.tr(f"Errore nei parametri! {e}"))
self.errmsg.setIcon(QMessageBox.Critical)
self.errmsg.setText(self.tr(f"Errore nei parametri!\n{e}"))
self.errmsg.show()
def rifiuta(self):
self.log.info(f"AdvancedOptions: Configurazione Rifiutata")
self.hide()
class bananaSplitterInterface(PyQt5.QtWidgets.QWidget):
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QWidget.__init__(self)
pass
class spexAbout(PyQt5.QtWidgets.QDialog):
def __init__(self, confloader=None, logger=None):
PyQt5.QtWidgets.QDialog.__init__(self)
self.abt = Ui_about()
self.abt.setupUi(self)
self.abt.lbl_info.setText(self.abt.lbl_info.text().replace(
'{ver}', confloader.getParam('version')))
self.show()
#############################################################
####################### MAIN ################################
#############################################################
def except_hook(cls, exception, traceback):
sys.__excepthook__(cls, exception, traceback)
if __name__ == '__main__':
app = PyQt5.QtWidgets.QApplication(sys.argv)
sys.excepthook = except_hook
try:
print(f"Running directory {os.environ['WORKSPACELOC']}")
print(f"Pythonpath: {os.environ['PYTHONPATH']}")
LOGGER = fancyLogger(filepath=r"./conf/loggerconf.json", fileLog=False)
conf = bananaCONF(workdir=r"./conf", logger=LOGGER)
conf.open()
conf.use("defaults.json")
conf.use(conf.getParam('paths', 'lastUsed'))
iflan = conf.getParam('settings', 'uiLang')
trlist = [f":/tr/translations/guimain_{iflan}.qm",
f":/tr/translations/libconfload_{iflan}.qm",
f":/tr/translations/libsplit_{iflan}.qm",
f":/tr/translations/mainwindow_{iflan}.qm",
f":/tr/translations/avanzatetitolo3_{iflan}.qm",
f":/tr/translations/titolow_{iflan}.qm",
f":/tr/translations/selezout_{iflan}.qm",
f":/tr/translations/about_{iflan}.qm"]
qtrlist = []
if iflan != 'it':
LOGGER.debug("Carico Traduzioni: ")
for tr in trlist:
qtr = QTranslator()
print(qtr.load(tr), f" {tr}")
app.installTranslator(qtr)
qtrlist.append(qtr)
except Exception as e:
print(f"Errore main: {e}")
sys.exit()
window = bananaMain(logger=LOGGER, confloader=conf)
window.show()
rv = app.exec()
print("ExitCode: {}".format(rv))
sys.exit(rv)

View File

@@ -0,0 +1,111 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
import json,os,glob,copy
from PyQt5.QtCore import QObject
class bananaCONF(QObject):
'''
Carica e Salva file di configurazione per bananaSPLITTER
'''
def __init__(self, workdir=None, logger=None):
try:
QObject.__init__(self)
self.log = logger
self.fileList = None
self.workdir = None
self.inUse = None
self.settingsList = dict()
if workdir is not None:
self.workdir = workdir
os.chdir(workdir)
self.log.debug(self.tr("Cerco le configurazioni in: [{}]").format(os.getcwd()))
else:
self.log.error(self.tr("Non mi e' stata fornita una directory per i file di configurazione"))
pass
except Exception as e:
print(f"libConfload Exception: {e}")
def open(self):
self.log.info(self.tr("Carico i file di configurazione"))
self.fileList = glob.glob(r"*.json")
if len(self.fileList) > 0:
for f in self.fileList:
try:
fp = open(f)
tf = json.load(fp)
fName = f.split("\\")[-1]
self.settingsList[fName] = copy.deepcopy(tf)
self.log.info(self.tr("Caricato correttamente: {}").format(fName))
fp.close()
except json.JSONDecodeError as e:
self.log.error(self.tr("Impossibile leggere la configurazione:{}\n \
Controlla il file a riga: {} e colonna:{}").format(e.doc, e.lineno, e.colno))
except IOError as ee:
self.log.error(self.tr("Impossibile aprire il file: {}").format(ee))
except Exception as eee:
self.log.critical(self.tr("Eccezione inaspettata: {}").format(eee))
else:
self.log.error(self.tr("Non ho trovato alcun file di configurazione!"))
pass
def reload(self):
self.settingsList = None
self.fileList = None
self.inUse = None
self.open()
pass
def use(self, toUse):
self.inUse = toUse
return self
def save(self, fName=None):
if fName is None:
fName=self.inUse
self.log.info(self.tr("Salvo la configurazione: {}").format(fName))
try:
f=open(fName, 'w')
json.dump(self.settingsList[self.inUse], f, indent='\t')
f.close()
except IOError as e:
self.log.error(self.tr("Impossibile salvare il file: {} - [{}]").format(fName,e))
except Exception as ei:
self.log.error(self.tr("Errore imprevisto nella scrittura del file: {}").format(ei))
pass
def getFiles(self):
return self.fileList
def getParam(self, *keys):
rv = self.settingsList[self.inUse]
try:
for k in keys:
rv = rv[k]
return rv
except ValueError as ve:
self.log.error(self.tr("Parametro di configurazione non valido! [{}]").format(ve))
return False
pass
def setParam(self, keys=(), val=None):
sv = self.settingsList[self.inUse]
try:
for k in keys[:-1]:
sv = sv[k]
sv[keys[-1]] = val
return True
except ValueError as ve:
self.log.error(self.tr("Parametro di configurazione non valido! [{}]").format(ve))
return False
pass
def dump(self):
return self.settingsList[self.inUse]
def loads(self, conf):
jconf = json.loads(conf)
self.settingsList[self.inUse]=jconf

View File

@@ -0,0 +1,101 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
import sys
import json
import logging
import colorama
from PyQt5.QtCore import QObject, pyqtSignal
class fancyLogger(QObject):
'''
Colorizza il logger di python, per un' esperienza stile willy wonka
'''
sendLog = pyqtSignal(str)
def __init__(self, filepath=None, name="Logger", consoleLog=True, fileLog=False):
QObject.__init__(self)
try:
with open(filepath, 'r') as fp:
settings = json.load(fp)
fp.close()
colorama.init(convert=True)
self.LRED = colorama.Fore.LIGHTRED_EX
self.RED = colorama.Fore.RED
self.LYELLOW = colorama.Fore.LIGHTYELLOW_EX
self.YELLOW = colorama.Fore.YELLOW
self.LBLUE = colorama.Fore.LIGHTBLUE_EX
self.BLUE = colorama.Fore.BLUE
self.LGREEN = colorama.Fore.LIGHTGREEN_EX
self.LGREEN = colorama.Fore.GREEN
self.WHITE = colorama.Fore.LIGHTWHITE_EX
self.RST = colorama.Style.RESET_ALL
# Setup Logger
self.LOGGER = logging.getLogger(name)
self.LOGGER.setLevel(logging.DEBUG)
self.LOGGER.propagate = False
FORMATTER = logging.Formatter((settings["logFormat"]), (settings["logTimeFormat"]))
if fileLog:
# File Logging
fh = logging.FileHandler((settings["logFile"]))
fh.setLevel(logging.DEBUG)
fh.setFormatter(FORMATTER)
self.LOGGER.addHandler(fh)
if consoleLog:
# Console Logging
cl= logging.StreamHandler(sys.stdout)
cl.setLevel(logging.DEBUG)
cl.setFormatter(FORMATTER)
self.LOGGER.addHandler(cl)
except IOError as e:
print("Impossibile caricare la configurazione del logger: [{}]".format(e))
except Exception as ee:
print(f"libFancylogger error: {ee}")
pass
def debug(self, msg="Undefined Debug"):
print(self.LBLUE, end='')
self.LOGGER.debug(msg)
print(self.RST, end='')
self.sendLog.emit(f"<FONT COLOR='#03c2fc'>DEBUG | {msg} </br>")
pass
def info(self, msg="Undefined Info"):
print(self.LGREEN, end='')
self.LOGGER.info(msg)
print(self.RST, end='')
self.sendLog.emit(f"<FONT COLOR='#6bfc03'>INFO | {msg} </br>")
pass
def warn(self, msg="Undefined Warning"):
print(self.LYELLOW, end='')
self.LOGGER.warning(msg)
print(self.RST, end='')
self.sendLog.emit(f"<FONT COLOR='#fc9403'>WARNING | {msg} </br>")
pass
def error(self, msg="Undefined Error"):
print(self.LRED, end='')
self.LOGGER.error(msg)
print(self.RST, end='')
self.sendLog.emit(f"<FONT COLOR='#ff0000'>ERROR | {msg} </br>")
pass
def critical(self, msg="Undefined Critical"):
print(self.RED, end='')
self.LOGGER.critical(msg)
print(self.RST, end='')
self.sendLog.emit(f"<FONT COLOR='#fc03ce'>CRITICAL | {msg} </br>")
pass
def testColors(self):
self.debug("Test Debug")
self.info("Test Info")
self.warn("Test Warning")
self.error("Test Error")
self.critical("Test Critical")
pass

View File

@@ -0,0 +1,404 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
from PyQt5.QtCore import QObject, pyqtSignal
from slugify import slugify
import time, parse, re, copy, os, json
import traceback
class bananaSPLITTER(QObject):
sendStatus = pyqtSignal(str)
def __init__(self, fileParams=None, logger=None):
try:
QObject.__init__(self)
self.fileParams = fileParams
self.log = logger
self.rawFile = None
self.status = "first"
self.contentList = list()
self.bodyCounter=0
self.duplicateNumber=0
#self.log.debug(f"Configurazione: \n {json.dumps(fileParams, indent=2)}")
if fileParams is not None:
self.log.debug(self.tr("Sto operando sul file: {}..").format(self.fileParams['name']))
self.paths = self.fileParams['paths']
self.docStruct = self.fileParams['docStruct']
self.settings = self.fileParams['settings']
self.fileName = self.fileParams['name']
self.outPath = self.paths['OUTworkPath']+slugify(self.fileName)+'/'
self.beginTime = time.time()
pass
else:
self.log.critical(self.tr("Non e' stato fornito il nome di alcun file da splittare!"))
except Exception as e:
print(f"libSplit error: {e}")
pass
def run(self):
self.log.info(self.tr("Nuovo SPLITTER su file: {}").format(self.fileName))
self.sendStatus.emit(self.tr(f"Inizio {self.fileName}"))
try:
self.openFile()
self.remEmptyLines()
if self.docStruct['fileVersNew']:
self.newSplitFile()
else:
self.splitFile()
if self.settings['removeDuplicates']:
self.log.info(self.tr("Controllo se ci sono dei duplicati.."))
self.removeDuplicates()
else:
for idx, ff in enumerate(self.contentList):
ff['duplicate']=False
self.contentList[idx]=ff
self.log.warn(self.tr("Salto il controllo dei duplicati.."))
# se il parse e la rimozione dei duplicati e' andata bene
# preparo e inizio il salvataggio
if os.path.exists(self.outPath):
if self.settings['removeOldFiles']:
#os.chdir(self.outPath)
for f in os.listdir(self.outPath):
os.remove(self.outPath+f)
else:
raise FileExistsError(self.tr("Non posso sovrascrivere i vecchi file, eliminali manualmente!"))
else:
os.mkdir(self.outPath)
#os.chdir(self.outPath)
if self.settings['saveSeparateFiles']:
self.saveSeparate()
if self.settings['saveBodyFile']:
self.saveBody()
self.log.info(self.tr("L'elaborazione del file ha richiesto {:4.2f} sec").format(time.time()-self.beginTime))
except UnicodeDecodeError as ee:
self.log.critical(self.tr("Il file [{}] contiene caratteri non compatibili con la codifica scelta! [{}]")
.format(self.fileParams['name'],ee))
except FileExistsError as fe:
self.log.critical(fe)
except Exception as ee:
traceback.print_exc()
self.log.warn(ee)
pass
def openFile(self):
try:
#os.chdir(self.paths["INworkPath"])
self.log.info(self.tr("Carico il contenuto.."))
fp = open(self.paths["INworkPath"]+'/'+self.fileParams['name'], mode='r', encoding=self.settings['encoding'])
self.rawFile = fp.readlines()
fp.close()
except IOError as e:
self.log.critical(self.tr("Impossibile aprire il file: {}! [{}]").format(self.fileName,e))
raise BaseException("OpenFile")
os.rmdir(self.outPath)
except Exception as ee:
print(ee)
pass
def remEmptyLines(self):
self.log.info(self.tr("Elimino righe vuote e caratteri inutili.."))
tempContent = []
try:
for ll in self.rawFile:
for c in self.settings['delChars']:
ll = ll.replace(c,'')
if ll not in ['\n', '\r', '\r\n']:
tempContent.append(ll)
self.rawFile = copy.deepcopy(tempContent)
self.rawFile.append('\n') #linea vuota finale per essere sicuri di parsare bene
return True
except:
self.log.error(self.tr("Errore inaspettato durante l'eliminazione delle righe vuote!"))
raise BaseException("DelLines")
del tempContent
def newSplitFile(self): #porting del codice dal programma originale
self.log.info(self.tr("Individuo il contenuto.."))
self.bodyCounter=0
self.duplicateNumber=0
docNumber = 0
docSkipped = 0
docDate = {}
title = ''
prevLine = ''
newsPaperName = ''
titleBegin = True
newsName = False
tempBody = list()
for l in self.rawFile: #per ogni linea del file
l=l.replace('\xa0', ' ')
lineWords = l.lstrip().split(' ') #dividi la riga in parole
if self.status == 'first':
try:
# ricerco la data
if (lineWords[self.settings['monthPosition']]).capitalize() in self.docStruct['language']['dateWords']:
try:
docDate=parse.parse(self.docStruct['dateFormat'],l).named
docDate['month']=docDate['month'].lstrip().rstrip().capitalize()
docDate['month']=self.docStruct['language']['dateWords'].index(docDate['month'])+1
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
except:
self.log.warn(self.tr("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]"). format(l.strip('\r\n')))
pass
elif lineWords[0].upper() in self.docStruct['language']['headWords']:
#cambio stato e inizializzo un nuovo documento da riempire
self.status = 'head'
newDoc=dict()
newDoc['title']=title
newDoc['date']=docDate
newDoc['newsPaperName'] = newsPaperName
titleBegin = False
newsName = False
else:
if titleBegin:
title = l.strip().capitalize()
titleBegin = False
newsName = True
elif newsName:
if self.settings['getNewsPaperName']:
try:
if l.strip():
newsPaperName = l.strip()
else:
newsPaperName = self.settings['nameNotFoundStr']
except:
self.log.warn(self.tr("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
controlla i file di uscita! [{}]").format(l.strip()))
else:
newsPaperName = self.settings['nameNotFoundStr']
newsName = False
except IndexError:
self.log.error(self.tr("Errore inaspettato, contatta il tuo sviluppatore di fiducia!"))
pass
elif self.status == 'head':
tempContent = list()
#doppio check per trovare l'inizio del corpo documento
if re.match(self.docStruct['beginOfDocument'],l):
self.status='body'
#if lineWords[0].upper() not in self.docStruct['language']['headWords']: #se la prima parola non e' tra quelle di inizio
#tempBody.append(l) # vuol dire che ho trovato l'articolo e aggiungo la prima riga al contenuto del documento
#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
self.log.warn(self.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()))
self.status = 'tail'
anomaly = True
elif not lineWords[0].upper() in self.docStruct['language']['tailWords']: #se la prima parola non e' tra quelle di fine
if self.settings['delLF']:
tempBody.append(l.strip('\n')) #allora sto leggendo l'articolo
else:
tempBody.append(l)
else:
self.status = 'tail'
anomaly = False
pass
elif self.status == 'tail':
if anomaly or (re.match(self.docStruct['endOfDocument'],l) is not None):
self.status = 'first'
anomaly = False
titleBegin = True
if self.settings['delWordBreak']:
tempContent=[ll.replace('-\n', '') for ll in tempContent]
newDoc['content']=copy.deepcopy(''.join(tempBody))
self.contentList.append(copy.deepcopy(newDoc))
tempBody=list()
self.bodyCounter +=1
pass
else:
self.log.critical(self.tr("Stato Interno Sconosciuto"))
prevLine=l #salva sempre e comunque il contenuto della linea precedente
pass
#ricerca terminata, espongo i risultati
self.log.info(self.tr("Nel file ho trovato {0} articoli..").format(self.bodyCounter))
if docSkipped > 0:
self.log.warn(self.tr("Attentione, LexisNexis ne ha saltati {} !!!").format(docSkipped))
pass
pass
def splitFile(self): #porting del codice dal programma originale
self.log.info(self.tr("Individuo il contenuto.."))
self.bodyCounter=0
self.duplicateNumber=0
docNumber = 0
docSkipped = 0
docDate = {}
title = ''
prevLine = ''
newsPaperName = ''
titleBegin = False
tempBody = list()
docSep=re.compile(self.docStruct['docSep'])
for l in self.rawFile: #per ogni linea del file
lineWords = l.lstrip().split(' ') #dividi la riga in parole
if self.status == 'first':
#prendo il numero di documento per vedere se ci sono buchi
try:
try:
nn = parse.parse("{current:d} Of {total} Documents",l.strip().capitalize()).named
if nn["current"]-docNumber==1:
pass
else:
if self.settings["showSkipped"]:
self.log.warn(self.tr("Il conto dei documenti non torna! LexisNexis ne ha saltato qualcuno!\n Precedente:{0}-Attuale:{1}").format(docNumber,nn["current"]))
docSkipped+=1
docNumber = nn["current"]
except:
pass #non segnalare eccezione se il parse fallisce
# ricerco la data
if (lineWords[self.settings['monthPosition']]).capitalize() in self.docStruct['language']['dateWords']:
try:
docDate=parse.parse(self.docStruct['dateFormat'],l).named
docDate['month']=docDate['month'].lstrip().rstrip().capitalize()
docDate['month']=self.docStruct['language']['dateWords'].index(docDate['month'])+1
title = ''
titleBegin=True
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
if self.settings['getNewsPaperName']:
try:
if prevLine.split(' ')[0].strip().isalpha():
newsPaperName = prevLine.strip()
else:
newsPaperName = self.settings['nameNotFoundStr']
except:
self.log.warn(self.tr("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
controlla i file di uscita! [{}]").format(prevLine.strip()))
else:
newsPaperName = self.settings['nameNotFoundStr']
except:
self.log.warn(self.tr("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]").format(l.strip('\r\n')))
pass
elif lineWords[0] in self.docStruct['language']['headWords']:
#cambio stato e inizializzo un nuovo documento da riempire
self.status = 'head'
newDoc=dict()
newDoc['title']=title
newDoc['date']=docDate
newDoc['newsPaperName'] = newsPaperName
titleBegin=False
else:
if titleBegin:
title += l.strip().capitalize()
except IndexError:
self.log.error(self.tr("Errore inaspettato, contatta il tuo sviluppatore di fiducia!"))
pass
elif self.status == 'head':
tempContent = list()
if lineWords[0] not in self.docStruct['language']['headWords']: #se la prima parola non e' tra quelle di inizio
tempBody.append(l) # vuol dire che ho trovato l'articolo e aggiungo la prima riga al contenuto del documento
self.status = 'body'
pass
elif self.status == 'body':
if not lineWords[0] in self.docStruct['language']['tailWords']: #se la prima parola non e' tra quelle di fine
if self.settings['delLF']:
tempBody.append(l.strip('\n')) #allora sto leggendo l'articolo
else:
tempBody.append(l)
else:
self.status = 'tail'
anomaly = False
if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
self.log.warn(self.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()))
self.status = 'tail'
anomaly = True
pass
elif self.status == 'tail':
if docSep.match(l) is not None or anomaly:
self.status = 'first'
anomaly = False
if self.settings['delWordBreak']:
tempContent=[ll.replace('-\n', '') for ll in tempContent]
newDoc['content']=copy.deepcopy(''.join(tempBody))
self.contentList.append(copy.deepcopy(newDoc))
tempBody=list()
self.bodyCounter +=1
pass
else:
self.log.critical(self.tr("Stato Interno Sconosciuto"))
prevLine=l #salva sempre e comunque il contenuto della linea precedente
pass
#ricerca terminata, espongo i risultati
self.log.info(self.tr("Nel file ho trovato {0} articoli..").format(self.bodyCounter))
if docSkipped > 0:
self.log.warn(self.tr("Attentione, LexisNexis ne ha saltati {} !!!").format(docSkipped))
pass
pass
def removeDuplicates(self):
titleList=[]
duplicateList=[]
for idx, ff in enumerate(self.contentList):
if ff['title'] not in titleList:
titleList.append(ff['title'])
ff['duplicate']=False
self.contentList[idx]=ff
pass
else:
if ff['title'] not in duplicateList:
duplicateList.append(ff['title'])
if self.settings['showRemovedDuplicates']:
self.log.info(self.tr("Duplicato: {}").format(ff['title'].strip()))
ff['duplicate'] = True
self.contentList[idx]=ff
self.duplicateNumber+=1
self.log.info(self.tr("Ho rimosso {} duplicati di {} articoli..").format(self.duplicateNumber, len(duplicateList)))
pass
def saveSeparate(self):
outFileCounter = 0
self.paths['OUTworkPath']=self.paths['OUTworkPath']+slugify(self.fileName)
self.log.info(self.tr("Salvo gli articoli in file separati..."))
self.log.debug(self.tr("Persorso: {0}").format(self.outPath))
for ff in self.contentList:
try:
if ff['duplicate'] == False:
fName=self.docStruct['outNameFormat'].format(title=slugify(ff['title'][:self.docStruct['maxTitleLen']]),\
filename=slugify(self.fileName),\
docnum=outFileCounter,\
papername=ff['newsPaperName'].strip(),\
**ff['date'])
out=open(self.outPath+'{0}'.format(fName),'wb')
if self.settings['includeTitle']:
ff['content'] = ff['title']+os.linesep+ff['content']
out.write(ff['content'].encode(self.settings['encoding']))
out.close()
outFileCounter+=1
except IOError as e:
self.log.error(self.tr("Qualcosa e\' andato storto, non riesco a scrivere il file: {}").format(e))
continue
except KeyError as ke:
self.log.error(self.tr(f"Chiave {ke} non trovata per:{outFileCounter} {ff['title']} "))
except Exception as ee:
traceback.print_exc()
self.log.error(self.tr(f"Errore generale nel salvataggio: {ee}"))
if outFileCounter < self.bodyCounter:
self.log.error(self.tr("Ho salvato meno file rispetto a quelli trovati!"))
pass
def saveBody(self):
self.log.info(self.tr('Salvo gli articoli in un singolo file vicino agli originali...'))
self.log.debug(self.tr('Persorso: {0}').format(self.outPath))
#os.chdir(self.outPath)
try:
fName=slugify(self.fileName)
fName='BODYFILE_{0}.txt'.format(fName[:self.docStruct['maxTitleLen']])
fileContent = os.linesep.join([cc['content'] for cc in self.contentList])
out=open(self.outPath+'{0}'.format(fName),'wb')
out.write(fileContent.encode(self.settings['encoding']))
out.close()
except IOError as e:
self.log.error(self.tr("Qualcosa e\' andato storto, non riesco a scrivere il file: {}").format(e))
except Exception as ee:
self.log.error(self.tr(f"Errore generale nel salvataggio: {ee}"))
pass

BIN
SPEx/spex/logo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>about</class>
<widget class="QDialog" name="about">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>768</width>
<height>640</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>768</width>
<height>640</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>768</width>
<height>640</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>About SPEx</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-info-80.png</normaloff>:/ico/icons/icons8-info-80.png</iconset>
</property>
<property name="modal">
<bool>true</bool>
</property>
<widget class="QLabel" name="lbl_ico">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>128</width>
<height>128</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="resources/resources.qrc">:/ico/icons/logo.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="lbl_info">
<property name="geometry">
<rect>
<x>150</x>
<y>10</y>
<width>601</width>
<height>621</height>
</rect>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Rockwell'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:20pt; font-weight:600;&quot;&gt;About SPEx&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Versione {ver}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;SPEx (Split Parse &amp;amp; Extract) e' un tool utile per gli specialisti di linguistica dei corpora che intendono rifinire il loro corpus, eliminando tutti gli elementi non &lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;necessari e dividendo in file singoli le raccolte di&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt; &amp;quot;articoli&amp;quot; scaricate da database online quali &lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt; font-style:italic;&quot;&gt;Lexis Uni&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Puoi tranquillamente suggerire SPEx ad un tuo collega: ci fa molto piacere!&lt;br&gt;Ricordati solo di mandarci una mail con scopo e impressioni di utilizzo: questo ci aiuta a tenere traccia di quanti ricercatori stanno usando SPEx e pensare a sviluppi futuri di questo tool. &lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:10pt;&quot;&gt;SPEx non e' soggetto ad alcun tipo di licenza e viene distribuito senza alcuna garanzia.&lt;br /&gt;Essendo un progetto &amp;quot;del tempo libero&amp;quot;, bug e proposte di espansione verranno sicuramente presi in considerazione, anche se le tempistiche potrebbero variare.&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Contatti:&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:10pt;&quot;&gt;12parsec.software@gmail.com&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:12pt;&quot;&gt;Download:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8&quot;&gt;&lt;span style=&quot; font-family:'Rockwell'; font-size:7pt; text-decoration: underline; color:#0000ff;&quot;&gt;https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>editconf</class>
<widget class="QDialog" name="editconf">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>500</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>600</width>
<height>500</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Opzioni Avanzate</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>ATTENZIONE!! Quello che scrivi qui potrebbe rompere tutto!</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::NoTextInteraction</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Da grandi poteri derivano grandi responsabilita'</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txt_confFile">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_cancel">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,347 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>advtitolo3</class>
<widget class="QWidget" name="advtitolo3">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>480</width>
<height>524</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Avanzate Titolo</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="lbl_terzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>(Terzo Elemento)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numeroterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_dataterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titoloterzo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="10" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_secondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Secondo Elemento</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numerosecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_datasecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titolosecondo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="lbl_istruzioni">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona l'ordine degli elementi nel nomi file</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Prefisso Titolo</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="txt_prefisso">
<property name="inputMask">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>10</number>
</property>
</widget>
</item>
<item row="3" column="0">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="lbl_primo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Primo elemento</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_numeroprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Numero</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_dataprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="rad_titoloprimo">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Titolo</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="lbl_titoloschermata">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Modifica ordine elementi nome file</string>
</property>
</widget>
</item>
<item row="10" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btn_annulla">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Annulla</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_OK">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Suffisso Titolo</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="txt_suffisso">
<property name="maxLength">
<number>10</number>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'about.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_about(object):
def setupUi(self, about):
about.setObjectName("about")
about.setEnabled(True)
about.resize(768, 640)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(about.sizePolicy().hasHeightForWidth())
about.setSizePolicy(sizePolicy)
about.setMinimumSize(QtCore.QSize(768, 640))
about.setMaximumSize(QtCore.QSize(768, 640))
font = QtGui.QFont()
font.setFamily("Rockwell")
about.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-info-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
about.setWindowIcon(icon)
about.setModal(True)
self.lbl_ico = QtWidgets.QLabel(about)
self.lbl_ico.setGeometry(QtCore.QRect(10, 10, 128, 128))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_ico.sizePolicy().hasHeightForWidth())
self.lbl_ico.setSizePolicy(sizePolicy)
self.lbl_ico.setFrameShape(QtWidgets.QFrame.NoFrame)
self.lbl_ico.setText("")
self.lbl_ico.setPixmap(QtGui.QPixmap(":/ico/icons/logo.png"))
self.lbl_ico.setScaledContents(True)
self.lbl_ico.setObjectName("lbl_ico")
self.lbl_info = QtWidgets.QLabel(about)
self.lbl_info.setGeometry(QtCore.QRect(150, 10, 601, 621))
self.lbl_info.setTextFormat(QtCore.Qt.RichText)
self.lbl_info.setWordWrap(True)
self.lbl_info.setObjectName("lbl_info")
self.retranslateUi(about)
QtCore.QMetaObject.connectSlotsByName(about)
def retranslateUi(self, about):
_translate = QtCore.QCoreApplication.translate
about.setWindowTitle(_translate("about", "About SPEx"))
self.lbl_info.setText(_translate("about", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Rockwell\'; font-size:8pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:20pt; font-weight:600;\">About SPEx<br /></span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Versione {ver}</span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">SPEx (Split Parse &amp; Extract) e\' un tool utile per gli specialisti di linguistica dei corpora che intendono rifinire il loro corpus, eliminando tutti gli elementi non </span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">necessari e dividendo in file singoli le raccolte di</span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\"> &quot;articoli&quot; scaricate da database online quali </span><span style=\" font-family:\'Rockwell\'; font-size:12pt; font-style:italic;\">Lexis Uni</span><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">.</span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Puoi tranquillamente suggerire SPEx ad un tuo collega: ci fa molto piacere!<br>Ricordati solo di mandarci una mail con scopo e impressioni di utilizzo: questo ci aiuta a tenere traccia di quanti ricercatori stanno usando SPEx e pensare a sviluppi futuri di questo tool. </span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:10pt;\">SPEx non e\' soggetto ad alcun tipo di licenza e viene distribuito senza alcuna garanzia.<br />Essendo un progetto &quot;del tempo libero&quot;, bug e proposte di espansione verranno sicuramente presi in considerazione, anche se le tempistiche potrebbero variare.</span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Contatti:</span><span style=\" font-family:\'Rockwell\'; font-size:7pt;\"><br /></span><span style=\" font-family:\'Rockwell\'; font-size:10pt;\">12parsec.software@gmail.com</span></p>\n"
"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Rockwell\'; font-size:12pt;\">Download:<br /></span><a href=\"https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8\"><span style=\" font-family:\'Rockwell\'; font-size:7pt; text-decoration: underline; color:#0000ff;\">https://drive.google.com/open?id=10zUm7uHk9st36PVotMwh9wqOeXU3xrr8</span></a></p></body></html>"))
import resources_rc

View File

@@ -0,0 +1,88 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'advopt.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_editconf(object):
def setupUi(self, editconf):
editconf.setObjectName("editconf")
editconf.resize(600, 500)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(editconf.sizePolicy().hasHeightForWidth())
editconf.setSizePolicy(sizePolicy)
editconf.setMinimumSize(QtCore.QSize(600, 500))
font = QtGui.QFont()
font.setFamily("Rockwell")
editconf.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
editconf.setWindowIcon(icon)
self.verticalLayout = QtWidgets.QVBoxLayout(editconf)
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(12)
self.label.setFont(font)
self.label.setTextFormat(QtCore.Qt.PlainText)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setWordWrap(True)
self.label.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.label_2 = QtWidgets.QLabel(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label_2.setFont(font)
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.txt_confFile = QtWidgets.QPlainTextEdit(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.txt_confFile.setFont(font)
self.txt_confFile.setObjectName("txt_confFile")
self.verticalLayout.addWidget(self.txt_confFile)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.btn_cancel = QtWidgets.QPushButton(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_cancel.setFont(font)
self.btn_cancel.setObjectName("btn_cancel")
self.horizontalLayout.addWidget(self.btn_cancel)
self.btn_ok = QtWidgets.QPushButton(editconf)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_ok.setFont(font)
self.btn_ok.setObjectName("btn_ok")
self.horizontalLayout.addWidget(self.btn_ok)
self.verticalLayout.addLayout(self.horizontalLayout)
self.retranslateUi(editconf)
QtCore.QMetaObject.connectSlotsByName(editconf)
def retranslateUi(self, editconf):
_translate = QtCore.QCoreApplication.translate
editconf.setWindowTitle(_translate("editconf", "Opzioni Avanzate"))
self.label.setText(_translate("editconf", "ATTENZIONE!! Quello che scrivi qui potrebbe rompere tutto!"))
self.label_2.setText(_translate("editconf", "Da grandi poteri derivano grandi responsabilita\'"))
self.btn_cancel.setText(_translate("editconf", "Cancel"))
self.btn_ok.setText(_translate("editconf", "OK"))
import resources_rc

View File

@@ -0,0 +1,220 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'avanzatetitolo3.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_advtitolo3(object):
def setupUi(self, advtitolo3):
advtitolo3.setObjectName("advtitolo3")
advtitolo3.setWindowModality(QtCore.Qt.WindowModal)
advtitolo3.resize(480, 524)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(advtitolo3.sizePolicy().hasHeightForWidth())
advtitolo3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
advtitolo3.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
advtitolo3.setWindowIcon(icon)
self.gridLayout = QtWidgets.QGridLayout(advtitolo3)
self.gridLayout.setObjectName("gridLayout")
self.line = QtWidgets.QFrame(advtitolo3)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 2)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.lbl_terzo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_terzo.setFont(font)
self.lbl_terzo.setObjectName("lbl_terzo")
self.verticalLayout_3.addWidget(self.lbl_terzo)
self.rad_numeroterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numeroterzo.setFont(font)
self.rad_numeroterzo.setObjectName("rad_numeroterzo")
self.verticalLayout_3.addWidget(self.rad_numeroterzo)
self.rad_dataterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_dataterzo.setFont(font)
self.rad_dataterzo.setObjectName("rad_dataterzo")
self.verticalLayout_3.addWidget(self.rad_dataterzo)
self.rad_titoloterzo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titoloterzo.setFont(font)
self.rad_titoloterzo.setChecked(True)
self.rad_titoloterzo.setObjectName("rad_titoloterzo")
self.verticalLayout_3.addWidget(self.rad_titoloterzo)
self.gridLayout.addLayout(self.verticalLayout_3, 6, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 10, 0, 1, 1)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.lbl_secondo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_secondo.setFont(font)
self.lbl_secondo.setObjectName("lbl_secondo")
self.verticalLayout.addWidget(self.lbl_secondo)
self.rad_numerosecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numerosecondo.setFont(font)
self.rad_numerosecondo.setObjectName("rad_numerosecondo")
self.verticalLayout.addWidget(self.rad_numerosecondo)
self.rad_datasecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_datasecondo.setFont(font)
self.rad_datasecondo.setChecked(True)
self.rad_datasecondo.setObjectName("rad_datasecondo")
self.verticalLayout.addWidget(self.rad_datasecondo)
self.rad_titolosecondo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titolosecondo.setFont(font)
self.rad_titolosecondo.setObjectName("rad_titolosecondo")
self.verticalLayout.addWidget(self.rad_titolosecondo)
self.gridLayout.addLayout(self.verticalLayout, 5, 0, 1, 1)
self.lbl_istruzioni = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_istruzioni.setFont(font)
self.lbl_istruzioni.setObjectName("lbl_istruzioni")
self.gridLayout.addWidget(self.lbl_istruzioni, 2, 0, 1, 2)
self.label = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 8, 0, 1, 1)
self.txt_prefisso = QtWidgets.QLineEdit(advtitolo3)
self.txt_prefisso.setInputMask("")
self.txt_prefisso.setText("")
self.txt_prefisso.setMaxLength(10)
self.txt_prefisso.setObjectName("txt_prefisso")
self.gridLayout.addWidget(self.txt_prefisso, 8, 1, 1, 1)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.lbl_primo = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_primo.setFont(font)
self.lbl_primo.setObjectName("lbl_primo")
self.verticalLayout_2.addWidget(self.lbl_primo)
self.rad_numeroprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_numeroprimo.setFont(font)
self.rad_numeroprimo.setChecked(False)
self.rad_numeroprimo.setObjectName("rad_numeroprimo")
self.verticalLayout_2.addWidget(self.rad_numeroprimo)
self.rad_dataprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_dataprimo.setFont(font)
self.rad_dataprimo.setObjectName("rad_dataprimo")
self.verticalLayout_2.addWidget(self.rad_dataprimo)
self.rad_titoloprimo = QtWidgets.QCheckBox(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.rad_titoloprimo.setFont(font)
self.rad_titoloprimo.setObjectName("rad_titoloprimo")
self.verticalLayout_2.addWidget(self.rad_titoloprimo)
self.gridLayout.addLayout(self.verticalLayout_2, 3, 0, 1, 1)
self.line_2 = QtWidgets.QFrame(advtitolo3)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayout.addWidget(self.line_2, 7, 0, 1, 2)
self.lbl_titoloschermata = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.lbl_titoloschermata.setFont(font)
self.lbl_titoloschermata.setObjectName("lbl_titoloschermata")
self.gridLayout.addWidget(self.lbl_titoloschermata, 0, 0, 1, 2)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.btn_annulla = QtWidgets.QPushButton(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_annulla.setFont(font)
self.btn_annulla.setObjectName("btn_annulla")
self.horizontalLayout.addWidget(self.btn_annulla)
self.btn_OK = QtWidgets.QPushButton(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.btn_OK.setFont(font)
self.btn_OK.setObjectName("btn_OK")
self.horizontalLayout.addWidget(self.btn_OK)
self.gridLayout.addLayout(self.horizontalLayout, 10, 1, 1, 1)
self.label_2 = QtWidgets.QLabel(advtitolo3)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(8)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 9, 0, 1, 1)
self.txt_suffisso = QtWidgets.QLineEdit(advtitolo3)
self.txt_suffisso.setMaxLength(10)
self.txt_suffisso.setObjectName("txt_suffisso")
self.gridLayout.addWidget(self.txt_suffisso, 9, 1, 1, 1)
self.retranslateUi(advtitolo3)
QtCore.QMetaObject.connectSlotsByName(advtitolo3)
def retranslateUi(self, advtitolo3):
_translate = QtCore.QCoreApplication.translate
advtitolo3.setWindowTitle(_translate("advtitolo3", "Avanzate Titolo"))
self.lbl_terzo.setText(_translate("advtitolo3", "(Terzo Elemento)"))
self.rad_numeroterzo.setText(_translate("advtitolo3", "Numero"))
self.rad_dataterzo.setText(_translate("advtitolo3", "Data"))
self.rad_titoloterzo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_secondo.setText(_translate("advtitolo3", "Secondo Elemento"))
self.rad_numerosecondo.setText(_translate("advtitolo3", "Numero"))
self.rad_datasecondo.setText(_translate("advtitolo3", "Data"))
self.rad_titolosecondo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_istruzioni.setText(_translate("advtitolo3", "Seleziona l\'ordine degli elementi nel nomi file"))
self.label.setText(_translate("advtitolo3", "Prefisso Titolo"))
self.lbl_primo.setText(_translate("advtitolo3", "Primo elemento"))
self.rad_numeroprimo.setText(_translate("advtitolo3", "Numero"))
self.rad_dataprimo.setText(_translate("advtitolo3", "Data"))
self.rad_titoloprimo.setText(_translate("advtitolo3", "Titolo"))
self.lbl_titoloschermata.setText(_translate("advtitolo3", "Modifica ordine elementi nome file"))
self.btn_annulla.setText(_translate("advtitolo3", "Annulla"))
self.btn_OK.setText(_translate("advtitolo3", "OK"))
self.label_2.setText(_translate("advtitolo3", "Suffisso Titolo"))
import resources_rc

View File

@@ -0,0 +1,321 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainwin(object):
def setupUi(self, mainwin):
mainwin.setObjectName("mainwin")
mainwin.setEnabled(True)
mainwin.resize(680, 620)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(mainwin.sizePolicy().hasHeightForWidth())
mainwin.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
mainwin.setFont(font)
mainwin.setFocusPolicy(QtCore.Qt.NoFocus)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/logo2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
mainwin.setWindowIcon(icon)
mainwin.setAnimated(False)
mainwin.setDockOptions(QtWidgets.QMainWindow.AllowTabbedDocks)
self.centralwidget = QtWidgets.QWidget(mainwin)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
font.setBold(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setAlignment(QtCore.Qt.AlignCenter)
self.label_4.setObjectName("label_4")
self.horizontalLayout_3.addWidget(self.label_4)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.label_3 = QtWidgets.QLabel(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
self.label_3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.horizontalLayout_3.addWidget(self.label_3)
self.lbl_preset = QtWidgets.QLabel(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_preset.sizePolicy().hasHeightForWidth())
self.lbl_preset.setSizePolicy(sizePolicy)
self.lbl_preset.setObjectName("lbl_preset")
self.horizontalLayout_3.addWidget(self.lbl_preset)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem1)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 2, 0, 1, 1)
self.txt_log = QtWidgets.QTextEdit(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txt_log.sizePolicy().hasHeightForWidth())
self.txt_log.setSizePolicy(sizePolicy)
self.txt_log.setMaximumSize(QtCore.QSize(16777215, 100))
self.txt_log.setAcceptDrops(False)
self.txt_log.setAutoFillBackground(False)
self.txt_log.setStyleSheet("background-color: rgb(0,0,0);")
self.txt_log.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
self.txt_log.setObjectName("txt_log")
self.gridLayout_2.addWidget(self.txt_log, 4, 0, 1, 1)
self.wgt_main = QtWidgets.QTabWidget(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.wgt_main.sizePolicy().hasHeightForWidth())
self.wgt_main.setSizePolicy(sizePolicy)
self.wgt_main.setObjectName("wgt_main")
self.wgt_mainPage1 = QtWidgets.QWidget()
self.wgt_mainPage1.setObjectName("wgt_mainPage1")
self.gridLayout = QtWidgets.QGridLayout(self.wgt_mainPage1)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.btn_cartellasorg = QtWidgets.QPushButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_cartellasorg.sizePolicy().hasHeightForWidth())
self.btn_cartellasorg.setSizePolicy(sizePolicy)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-add-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_cartellasorg.setIcon(icon1)
self.btn_cartellasorg.setIconSize(QtCore.QSize(30, 30))
self.btn_cartellasorg.setFlat(True)
self.btn_cartellasorg.setObjectName("btn_cartellasorg")
self.verticalLayout_2.addWidget(self.btn_cartellasorg)
self.btn_cartelladest = QtWidgets.QPushButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_cartelladest.sizePolicy().hasHeightForWidth())
self.btn_cartelladest.setSizePolicy(sizePolicy)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-downloads-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_cartelladest.setIcon(icon2)
self.btn_cartelladest.setIconSize(QtCore.QSize(30, 30))
self.btn_cartelladest.setFlat(True)
self.btn_cartelladest.setObjectName("btn_cartelladest")
self.verticalLayout_2.addWidget(self.btn_cartelladest)
self.gridLayout.addLayout(self.verticalLayout_2, 0, 1, 1, 1)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.lbl_cartellasorg = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_cartellasorg.setFont(font)
self.lbl_cartellasorg.setObjectName("lbl_cartellasorg")
self.verticalLayout.addWidget(self.lbl_cartellasorg)
self.lbl_cartelladest = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_cartelladest.setFont(font)
self.lbl_cartelladest.setObjectName("lbl_cartelladest")
self.verticalLayout.addWidget(self.lbl_cartelladest)
self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.lbl_sorg = QtWidgets.QLabel(self.wgt_mainPage1)
self.lbl_sorg.setObjectName("lbl_sorg")
self.verticalLayout_4.addWidget(self.lbl_sorg)
self.lbl_dest = QtWidgets.QLabel(self.wgt_mainPage1)
self.lbl_dest.setObjectName("lbl_dest")
self.verticalLayout_4.addWidget(self.lbl_dest)
self.gridLayout.addLayout(self.verticalLayout_4, 0, 2, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 0, 3, 1, 1)
self.line = QtWidgets.QFrame(self.wgt_mainPage1)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 4)
self.label = QtWidgets.QLabel(self.wgt_mainPage1)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 2, 0, 1, 4)
self.lst_files = QtWidgets.QListWidget(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lst_files.sizePolicy().hasHeightForWidth())
self.lst_files.setSizePolicy(sizePolicy)
self.lst_files.setMinimumSize(QtCore.QSize(0, 180))
self.lst_files.setObjectName("lst_files")
self.gridLayout.addWidget(self.lst_files, 3, 0, 1, 4)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_2 = QtWidgets.QLabel(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
self.label_2.setSizePolicy(sizePolicy)
self.label_2.setObjectName("label_2")
self.horizontalLayout_2.addWidget(self.label_2)
self.rad_fileNew = QtWidgets.QRadioButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_fileNew.sizePolicy().hasHeightForWidth())
self.rad_fileNew.setSizePolicy(sizePolicy)
self.rad_fileNew.setChecked(True)
self.rad_fileNew.setObjectName("rad_fileNew")
self.horizontalLayout_2.addWidget(self.rad_fileNew)
self.rad_fileOld = QtWidgets.QRadioButton(self.wgt_mainPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_fileOld.sizePolicy().hasHeightForWidth())
self.rad_fileOld.setSizePolicy(sizePolicy)
self.rad_fileOld.setObjectName("rad_fileOld")
self.horizontalLayout_2.addWidget(self.rad_fileOld)
self.btn_avanti = QtWidgets.QPushButton(self.wgt_mainPage1)
self.btn_avanti.setMinimumSize(QtCore.QSize(100, 40))
self.btn_avanti.setMaximumSize(QtCore.QSize(80, 16777215))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanti.setFont(font)
self.btn_avanti.setLayoutDirection(QtCore.Qt.LeftToRight)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanti.setIcon(icon3)
self.btn_avanti.setIconSize(QtCore.QSize(25, 25))
self.btn_avanti.setFlat(False)
self.btn_avanti.setObjectName("btn_avanti")
self.horizontalLayout_2.addWidget(self.btn_avanti)
self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 4)
self.wgt_main.addTab(self.wgt_mainPage1, "")
self.gridLayout_2.addWidget(self.wgt_main, 1, 0, 1, 1)
mainwin.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainwin)
self.menubar.setGeometry(QtCore.QRect(0, 0, 680, 26))
self.menubar.setNativeMenuBar(True)
self.menubar.setObjectName("menubar")
self.bar_file = QtWidgets.QMenu(self.menubar)
self.bar_file.setObjectName("bar_file")
self.menuOpzioni = QtWidgets.QMenu(self.menubar)
self.menuOpzioni.setObjectName("menuOpzioni")
self.menuAbout = QtWidgets.QMenu(self.menubar)
self.menuAbout.setObjectName("menuAbout")
mainwin.setMenuBar(self.menubar)
self.actionCarica_Preset = QtWidgets.QAction(mainwin)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-documents-folder-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionCarica_Preset.setIcon(icon4)
self.actionCarica_Preset.setIconVisibleInMenu(True)
self.actionCarica_Preset.setObjectName("actionCarica_Preset")
self.actionSalva_Preset = QtWidgets.QAction(mainwin)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-save-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionSalva_Preset.setIcon(icon5)
self.actionSalva_Preset.setObjectName("actionSalva_Preset")
self.actionOpzioni = QtWidgets.QAction(mainwin)
self.actionOpzioni.setObjectName("actionOpzioni")
self.actionLingua = QtWidgets.QAction(mainwin)
self.actionLingua.setEnabled(True)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-globe-earth-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionLingua.setIcon(icon6)
self.actionLingua.setObjectName("actionLingua")
self.actionAvanzate = QtWidgets.QAction(mainwin)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionAvanzate.setIcon(icon7)
self.actionAvanzate.setObjectName("actionAvanzate")
self.actionManuale = QtWidgets.QAction(mainwin)
self.actionManuale.setEnabled(False)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-user-manual-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionManuale.setIcon(icon8)
self.actionManuale.setObjectName("actionManuale")
self.actionAbout_SPEx = QtWidgets.QAction(mainwin)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-info-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionAbout_SPEx.setIcon(icon9)
self.actionAbout_SPEx.setObjectName("actionAbout_SPEx")
self.bar_file.addAction(self.actionCarica_Preset)
self.bar_file.addAction(self.actionSalva_Preset)
self.menuOpzioni.addAction(self.actionAvanzate)
self.menuOpzioni.addAction(self.actionLingua)
self.menuAbout.addAction(self.actionAbout_SPEx)
self.menuAbout.addAction(self.actionManuale)
self.menubar.addAction(self.bar_file.menuAction())
self.menubar.addAction(self.menuOpzioni.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())
self.retranslateUi(mainwin)
QtCore.QMetaObject.connectSlotsByName(mainwin)
def retranslateUi(self, mainwin):
_translate = QtCore.QCoreApplication.translate
mainwin.setWindowTitle(_translate("mainwin", "12parsec - SPEx"))
self.label_4.setText(_translate("mainwin", "Finestra dei messaggi"))
self.label_3.setText(_translate("mainwin", "Preset corrente: "))
self.lbl_preset.setText(_translate("mainwin", "..."))
self.txt_log.setHtml(_translate("mainwin", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:6.6pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:7pt;\"><br /></p></body></html>"))
self.btn_cartellasorg.setText(_translate("mainwin", "-> "))
self.btn_cartelladest.setText(_translate("mainwin", "-> "))
self.lbl_cartellasorg.setText(_translate("mainwin", "Cartella sorgente"))
self.lbl_cartelladest.setText(_translate("mainwin", "Cartella destinazione"))
self.lbl_sorg.setText(_translate("mainwin", "..."))
self.lbl_dest.setText(_translate("mainwin", "..."))
self.label.setText(_translate("mainwin", "File disponibili per la conversione"))
self.label_2.setText(_translate("mainwin", "Versione dei File"))
self.rad_fileNew.setText(_translate("mainwin", "Nuova"))
self.rad_fileOld.setText(_translate("mainwin", "Vecchia"))
self.btn_avanti.setText(_translate("mainwin", "Avanti"))
self.wgt_main.setTabText(self.wgt_main.indexOf(self.wgt_mainPage1), _translate("mainwin", "Selezione Input"))
self.bar_file.setTitle(_translate("mainwin", "File"))
self.menuOpzioni.setTitle(_translate("mainwin", "Opzioni"))
self.menuAbout.setTitle(_translate("mainwin", "Help"))
self.actionCarica_Preset.setText(_translate("mainwin", "Carica Preset"))
self.actionSalva_Preset.setText(_translate("mainwin", "Salva Preset"))
self.actionOpzioni.setText(_translate("mainwin", "Opzioni"))
self.actionLingua.setText(_translate("mainwin", "Lingua Interfaccia"))
self.actionAvanzate.setText(_translate("mainwin", "Avanzate"))
self.actionManuale.setText(_translate("mainwin", "Manuale"))
self.actionAbout_SPEx.setText(_translate("mainwin", "About SPEx"))
import resources_rc

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,238 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'selezout.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_selezout(object):
def setupUi(self, selezout):
selezout.setObjectName("selezout")
selezout.resize(718, 573)
font = QtGui.QFont()
font.setFamily("Rockwell")
selezout.setFont(font)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(selezout)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.lbl_lingua = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_lingua.sizePolicy().hasHeightForWidth())
self.lbl_lingua.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_lingua.setFont(font)
self.lbl_lingua.setObjectName("lbl_lingua")
self.verticalLayout_2.addWidget(self.lbl_lingua)
self.line_2 = QtWidgets.QFrame(selezout)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.verticalLayout_2.addWidget(self.line_2)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.cmb_lingua = QtWidgets.QComboBox(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmb_lingua.sizePolicy().hasHeightForWidth())
self.cmb_lingua.setSizePolicy(sizePolicy)
self.cmb_lingua.setFrame(True)
self.cmb_lingua.setModelColumn(0)
self.cmb_lingua.setObjectName("cmb_lingua")
self.horizontalLayout_3.addWidget(self.cmb_lingua)
spacerItem = QtWidgets.QSpacerItem(40, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
self.lbl_indicazioni = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_indicazioni.sizePolicy().hasHeightForWidth())
self.lbl_indicazioni.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_indicazioni.setFont(font)
self.lbl_indicazioni.setObjectName("lbl_indicazioni")
self.verticalLayout_2.addWidget(self.lbl_indicazioni)
self.line = QtWidgets.QFrame(selezout)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout_2.addWidget(self.line)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout.setObjectName("verticalLayout")
self.rad_mainbodyEFile = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_mainbodyEFile.setFont(font)
self.rad_mainbodyEFile.setChecked(True)
self.rad_mainbodyEFile.setObjectName("rad_mainbodyEFile")
self.verticalLayout.addWidget(self.rad_mainbodyEFile)
self.rad_mainbody = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_mainbody.setFont(font)
self.rad_mainbody.setObjectName("rad_mainbody")
self.verticalLayout.addWidget(self.rad_mainbody)
self.rad_file = QtWidgets.QRadioButton(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.rad_file.setFont(font)
self.rad_file.setObjectName("rad_file")
self.verticalLayout.addWidget(self.rad_file)
self.verticalLayout_2.addLayout(self.verticalLayout)
self.lbl_indicazioni_2 = QtWidgets.QLabel(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_indicazioni_2.sizePolicy().hasHeightForWidth())
self.lbl_indicazioni_2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_indicazioni_2.setFont(font)
self.lbl_indicazioni_2.setObjectName("lbl_indicazioni_2")
self.verticalLayout_2.addWidget(self.lbl_indicazioni_2)
self.line_3 = QtWidgets.QFrame(selezout)
self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.verticalLayout_2.addWidget(self.line_3)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.chk_removeDuplicates = QtWidgets.QCheckBox(selezout)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_removeDuplicates.sizePolicy().hasHeightForWidth())
self.chk_removeDuplicates.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_removeDuplicates.setFont(font)
self.chk_removeDuplicates.setObjectName("chk_removeDuplicates")
self.gridLayout.addWidget(self.chk_removeDuplicates, 0, 0, 1, 1)
self.chk_includeTitle = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_includeTitle.setFont(font)
self.chk_includeTitle.setObjectName("chk_includeTitle")
self.gridLayout.addWidget(self.chk_includeTitle, 0, 1, 1, 1)
self.chk_removeBreakWord = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_removeBreakWord.setFont(font)
self.chk_removeBreakWord.setObjectName("chk_removeBreakWord")
self.gridLayout.addWidget(self.chk_removeBreakWord, 1, 0, 1, 1)
self.chk_cleaDestFolder = QtWidgets.QCheckBox(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_cleaDestFolder.setFont(font)
self.chk_cleaDestFolder.setObjectName("chk_cleaDestFolder")
self.gridLayout.addWidget(self.chk_cleaDestFolder, 1, 1, 1, 1)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(selezout)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label.setFont(font)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
self.lin_specialChars = QtWidgets.QLineEdit(selezout)
self.lin_specialChars.setObjectName("lin_specialChars")
self.horizontalLayout.addWidget(self.lin_specialChars)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem1)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)
self.verticalLayout_2.addLayout(self.gridLayout)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem2)
self.line_4 = QtWidgets.QFrame(selezout)
self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_4.setObjectName("line_4")
self.verticalLayout_2.addWidget(self.line_4)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.btn_indietro = QtWidgets.QPushButton(selezout)
self.btn_indietro.setMinimumSize(QtCore.QSize(100, 40))
self.btn_indietro.setMaximumSize(QtCore.QSize(75, 16777215))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_indietro.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80-back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_indietro.setIcon(icon)
self.btn_indietro.setIconSize(QtCore.QSize(25, 25))
self.btn_indietro.setObjectName("btn_indietro")
self.horizontalLayout_2.addWidget(self.btn_indietro)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem3)
self.btn_split = QtWidgets.QPushButton(selezout)
self.btn_split.setMinimumSize(QtCore.QSize(100, 0))
self.btn_split.setMaximumSize(QtCore.QSize(16777215, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(12)
self.btn_split.setFont(font)
self.btn_split.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.btn_split.setLayoutDirection(QtCore.Qt.LeftToRight)
self.btn_split.setAutoFillBackground(False)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/logo4.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_split.setIcon(icon1)
self.btn_split.setIconSize(QtCore.QSize(40, 40))
self.btn_split.setFlat(False)
self.btn_split.setObjectName("btn_split")
self.horizontalLayout_2.addWidget(self.btn_split)
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
self.retranslateUi(selezout)
QtCore.QMetaObject.connectSlotsByName(selezout)
selezout.setTabOrder(self.cmb_lingua, self.rad_mainbodyEFile)
selezout.setTabOrder(self.rad_mainbodyEFile, self.rad_mainbody)
selezout.setTabOrder(self.rad_mainbody, self.rad_file)
selezout.setTabOrder(self.rad_file, self.chk_removeDuplicates)
selezout.setTabOrder(self.chk_removeDuplicates, self.chk_includeTitle)
selezout.setTabOrder(self.chk_includeTitle, self.chk_removeBreakWord)
selezout.setTabOrder(self.chk_removeBreakWord, self.chk_cleaDestFolder)
selezout.setTabOrder(self.chk_cleaDestFolder, self.lin_specialChars)
selezout.setTabOrder(self.lin_specialChars, self.btn_split)
selezout.setTabOrder(self.btn_split, self.btn_indietro)
def retranslateUi(self, selezout):
_translate = QtCore.QCoreApplication.translate
selezout.setWindowTitle(_translate("selezout", "Seleziona Linuga e Output"))
self.lbl_lingua.setText(_translate("selezout", "Seleziona la lingua degli articoli"))
self.lbl_indicazioni.setText(_translate("selezout", "Seleziona il tipo di file da salvare"))
self.rad_mainbodyEFile.setText(_translate("selezout", "Bodyfile + File singoli"))
self.rad_mainbody.setText(_translate("selezout", "Bodyfile"))
self.rad_file.setText(_translate("selezout", "File singoli"))
self.lbl_indicazioni_2.setText(_translate("selezout", "Altre Opzioni "))
self.chk_removeDuplicates.setText(_translate("selezout", "Tenta rimozione duplicati"))
self.chk_includeTitle.setText(_translate("selezout", "Includi titolo all\'interno del file"))
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_indietro.setText(_translate("selezout", "Indietro"))
self.btn_split.setText(_translate("selezout", "SPLITTA!"))
import resources_rc

View File

@@ -0,0 +1,362 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'titolow.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_titolo(object):
def setupUi(self, titolo):
titolo.setObjectName("titolo")
titolo.resize(715, 567)
font = QtGui.QFont()
font.setFamily("Rockwell")
titolo.setFont(font)
self.gridLayout = QtWidgets.QGridLayout(titolo)
self.gridLayout.setObjectName("gridLayout")
self.lyt_nchars = QtWidgets.QHBoxLayout()
self.lyt_nchars.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
self.lyt_nchars.setObjectName("lyt_nchars")
self.lbl_ncarat = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_ncarat.sizePolicy().hasHeightForWidth())
self.lbl_ncarat.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.lbl_ncarat.setFont(font)
self.lbl_ncarat.setObjectName("lbl_ncarat")
self.lyt_nchars.addWidget(self.lbl_ncarat)
self.spn_ncarat = QtWidgets.QSpinBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.spn_ncarat.sizePolicy().hasHeightForWidth())
self.spn_ncarat.setSizePolicy(sizePolicy)
self.spn_ncarat.setMinimumSize(QtCore.QSize(50, 0))
self.spn_ncarat.setWrapping(True)
self.spn_ncarat.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows)
self.spn_ncarat.setMinimum(3)
self.spn_ncarat.setMaximum(32)
self.spn_ncarat.setObjectName("spn_ncarat")
self.lyt_nchars.addWidget(self.spn_ncarat)
spacerItem = QtWidgets.QSpacerItem(40, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.lyt_nchars.addItem(spacerItem)
self.gridLayout.addLayout(self.lyt_nchars, 5, 0, 1, 3)
self.line_3 = QtWidgets.QFrame(titolo)
self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.gridLayout.addWidget(self.line_3, 7, 0, 1, 3)
self.line = QtWidgets.QFrame(titolo)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 1, 0, 1, 3)
self.lyt_buttons = QtWidgets.QHBoxLayout()
self.lyt_buttons.setObjectName("lyt_buttons")
self.btn_avanzate = QtWidgets.QPushButton(titolo)
self.btn_avanzate.setMinimumSize(QtCore.QSize(120, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanzate.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-smartphone-ram-100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanzate.setIcon(icon)
self.btn_avanzate.setIconSize(QtCore.QSize(30, 30))
self.btn_avanzate.setObjectName("btn_avanzate")
self.lyt_buttons.addWidget(self.btn_avanzate)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.lyt_buttons.addItem(spacerItem1)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.btn_indietro = QtWidgets.QPushButton(titolo)
self.btn_indietro.setMinimumSize(QtCore.QSize(100, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_indietro.setFont(font)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80-back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_indietro.setIcon(icon1)
self.btn_indietro.setIconSize(QtCore.QSize(25, 25))
self.btn_indietro.setObjectName("btn_indietro")
self.horizontalLayout_2.addWidget(self.btn_indietro)
self.btn_avanti = QtWidgets.QPushButton(titolo)
self.btn_avanti.setMinimumSize(QtCore.QSize(100, 40))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(11)
self.btn_avanti.setFont(font)
self.btn_avanti.setLayoutDirection(QtCore.Qt.LeftToRight)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/ico/icons/icons8-arrow-80.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_avanti.setIcon(icon2)
self.btn_avanti.setIconSize(QtCore.QSize(25, 25))
self.btn_avanti.setObjectName("btn_avanti")
self.horizontalLayout_2.addWidget(self.btn_avanti)
self.lyt_buttons.addLayout(self.horizontalLayout_2)
self.gridLayout.addLayout(self.lyt_buttons, 15, 0, 1, 3)
self.lyt_date = QtWidgets.QVBoxLayout()
self.lyt_date.setObjectName("lyt_date")
self.rad_datajpn = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_datajpn.sizePolicy().hasHeightForWidth())
self.rad_datajpn.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_datajpn.setFont(font)
self.rad_datajpn.setChecked(True)
self.rad_datajpn.setObjectName("rad_datajpn")
self.lyt_date.addWidget(self.rad_datajpn)
self.rad_dataita = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_dataita.sizePolicy().hasHeightForWidth())
self.rad_dataita.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_dataita.setFont(font)
self.rad_dataita.setObjectName("rad_dataita")
self.lyt_date.addWidget(self.rad_dataita)
self.rad_datausa = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_datausa.sizePolicy().hasHeightForWidth())
self.rad_datausa.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_datausa.setFont(font)
self.rad_datausa.setObjectName("rad_datausa")
self.lyt_date.addWidget(self.rad_datausa)
self.gridLayout.addLayout(self.lyt_date, 3, 0, 1, 3)
self.lbl_impotit = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_impotit.sizePolicy().hasHeightForWidth())
self.lbl_impotit.setSizePolicy(sizePolicy)
self.lbl_impotit.setMinimumSize(QtCore.QSize(0, 0))
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.lbl_impotit.setFont(font)
self.lbl_impotit.setObjectName("lbl_impotit")
self.gridLayout.addWidget(self.lbl_impotit, 0, 0, 1, 3)
self.chk_data = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_data.sizePolicy().hasHeightForWidth())
self.chk_data.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_data.setFont(font)
self.chk_data.setObjectName("chk_data")
self.gridLayout.addWidget(self.chk_data, 2, 0, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 9, 1, 1, 1)
self.chk_titolo = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_titolo.sizePolicy().hasHeightForWidth())
self.chk_titolo.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_titolo.setFont(font)
self.chk_titolo.setObjectName("chk_titolo")
self.gridLayout.addWidget(self.chk_titolo, 4, 0, 1, 2)
self.lyt_sep = QtWidgets.QFormLayout()
self.lyt_sep.setObjectName("lyt_sep")
self.rad_spazio = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_spazio.sizePolicy().hasHeightForWidth())
self.rad_spazio.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_spazio.setFont(font)
self.rad_spazio.setObjectName("rad_spazio")
self.btngrp_divisore = QtWidgets.QButtonGroup(titolo)
self.btngrp_divisore.setObjectName("btngrp_divisore")
self.btngrp_divisore.addButton(self.rad_spazio)
self.lyt_sep.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.rad_spazio)
self.rad_virgola = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_virgola.sizePolicy().hasHeightForWidth())
self.rad_virgola.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_virgola.setFont(font)
self.rad_virgola.setObjectName("rad_virgola")
self.btngrp_divisore.addButton(self.rad_virgola)
self.lyt_sep.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.rad_virgola)
self.rad_piu = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_piu.sizePolicy().hasHeightForWidth())
self.rad_piu.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_piu.setFont(font)
self.rad_piu.setObjectName("rad_piu")
self.btngrp_divisore.addButton(self.rad_piu)
self.lyt_sep.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.rad_piu)
self.rad_tratt = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_tratt.sizePolicy().hasHeightForWidth())
self.rad_tratt.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_tratt.setFont(font)
self.rad_tratt.setObjectName("rad_tratt")
self.btngrp_divisore.addButton(self.rad_tratt)
self.lyt_sep.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.rad_tratt)
self.rad_trattbass = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_trattbass.sizePolicy().hasHeightForWidth())
self.rad_trattbass.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_trattbass.setFont(font)
self.rad_trattbass.setObjectName("rad_trattbass")
self.btngrp_divisore.addButton(self.rad_trattbass)
self.lyt_sep.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.rad_trattbass)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.rad_altro = QtWidgets.QRadioButton(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rad_altro.sizePolicy().hasHeightForWidth())
self.rad_altro.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.rad_altro.setFont(font)
self.rad_altro.setObjectName("rad_altro")
self.btngrp_divisore.addButton(self.rad_altro)
self.horizontalLayout_4.addWidget(self.rad_altro)
self.lin_altro = QtWidgets.QLineEdit(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lin_altro.sizePolicy().hasHeightForWidth())
self.lin_altro.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(9)
self.lin_altro.setFont(font)
self.lin_altro.setText("")
self.lin_altro.setObjectName("lin_altro")
self.horizontalLayout_4.addWidget(self.lin_altro)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_4.addItem(spacerItem3)
self.lyt_sep.setLayout(2, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_4)
self.gridLayout.addLayout(self.lyt_sep, 9, 0, 1, 1)
self.label = QtWidgets.QLabel(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
self.label.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 8, 0, 1, 2)
self.line_2 = QtWidgets.QFrame(titolo)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayout.addWidget(self.line_2, 14, 0, 1, 3)
self.chk_docnum = QtWidgets.QCheckBox(titolo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.chk_docnum.sizePolicy().hasHeightForWidth())
self.chk_docnum.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Rockwell")
font.setPointSize(10)
self.chk_docnum.setFont(font)
self.chk_docnum.setChecked(True)
self.chk_docnum.setObjectName("chk_docnum")
self.gridLayout.addWidget(self.chk_docnum, 6, 0, 1, 2)
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem4, 13, 0, 1, 1)
self.retranslateUi(titolo)
QtCore.QMetaObject.connectSlotsByName(titolo)
titolo.setTabOrder(self.chk_data, self.rad_datajpn)
titolo.setTabOrder(self.rad_datajpn, self.rad_dataita)
titolo.setTabOrder(self.rad_dataita, self.rad_datausa)
titolo.setTabOrder(self.rad_datausa, self.chk_titolo)
titolo.setTabOrder(self.chk_titolo, self.spn_ncarat)
titolo.setTabOrder(self.spn_ncarat, self.chk_docnum)
titolo.setTabOrder(self.chk_docnum, self.rad_spazio)
titolo.setTabOrder(self.rad_spazio, self.rad_tratt)
titolo.setTabOrder(self.rad_tratt, self.rad_virgola)
titolo.setTabOrder(self.rad_virgola, self.rad_trattbass)
titolo.setTabOrder(self.rad_trattbass, self.rad_piu)
titolo.setTabOrder(self.rad_piu, self.rad_altro)
titolo.setTabOrder(self.rad_altro, self.lin_altro)
titolo.setTabOrder(self.lin_altro, self.btn_avanzate)
titolo.setTabOrder(self.btn_avanzate, self.btn_avanti)
titolo.setTabOrder(self.btn_avanti, self.btn_indietro)
def retranslateUi(self, titolo):
_translate = QtCore.QCoreApplication.translate
titolo.setWindowTitle(_translate("titolo", "Nomi file di Uscita"))
self.lbl_ncarat.setText(_translate("titolo", "Numero di caratteri"))
self.btn_avanzate.setText(_translate("titolo", "Opzioni Avanzate (Titolo)"))
self.btn_indietro.setText(_translate("titolo", "Indietro"))
self.btn_avanti.setText(_translate("titolo", "Avanti"))
self.rad_datajpn.setText(_translate("titolo", "YYYY MM DD, es. 20001231 (jpn)"))
self.rad_dataita.setText(_translate("titolo", "DD MM YYYY, es. 31122000 (ita)"))
self.rad_datausa.setText(_translate("titolo", "MM DD YYYY, es. 12312000 (us)"))
self.lbl_impotit.setText(_translate("titolo", "Impostazioni nome file in uscita"))
self.chk_data.setText(_translate("titolo", "Data"))
self.chk_titolo.setText(_translate("titolo", "Titolo articolo"))
self.rad_spazio.setText(_translate("titolo", "Spazio"))
self.rad_virgola.setText(_translate("titolo", ","))
self.rad_piu.setText(_translate("titolo", "+"))
self.rad_tratt.setText(_translate("titolo", "-"))
self.rad_trattbass.setText(_translate("titolo", "_"))
self.rad_altro.setText(_translate("titolo", "Altro:"))
self.label.setText(_translate("titolo", "Separatore"))
self.chk_docnum.setText(_translate("titolo", "Numero documento"))
import resources_rc

View File

@@ -0,0 +1,540 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>mainwin</class>
<widget class="QMainWindow" name="mainwin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>680</width>
<height>620</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="windowTitle">
<string>12parsec - SPEx</string>
</property>
<property name="windowIcon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/logo2.png</normaloff>:/ico/icons/logo2.png</iconset>
</property>
<property name="animated">
<bool>false</bool>
</property>
<property name="dockOptions">
<set>QMainWindow::AllowTabbedDocks</set>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_4">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Finestra dei messaggi</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Preset corrente: </string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_preset">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QTextEdit" name="txt_log">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>100</height>
</size>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(0,0,0);</string>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:6.6pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:7pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textInteractionFlags">
<set>Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QTabWidget" name="wgt_main">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<widget class="QWidget" name="wgt_mainPage1">
<attribute name="title">
<string>Selezione Input</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<widget class="QPushButton" name="btn_cartellasorg">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>-&gt; </string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-add-folder-80.png</normaloff>:/ico/icons/icons8-add-folder-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cartelladest">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>-&gt; </string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-downloads-folder-80.png</normaloff>:/ico/icons/icons8-downloads-folder-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_cartellasorg">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella sorgente</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_cartelladest">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella destinazione</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="2">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="lbl_sorg">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_dest">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="4">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0" colspan="4">
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>File disponibili per la conversione</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="0" colspan="4">
<widget class="QListWidget" name="lst_files">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>180</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Versione dei File</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_fileNew">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Nuova</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_fileOld">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Vecchia</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_avanti">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>Avanti</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80.png</normaloff>:/ico/icons/icons8-arrow-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>680</width>
<height>26</height>
</rect>
</property>
<property name="nativeMenuBar">
<bool>true</bool>
</property>
<widget class="QMenu" name="bar_file">
<property name="title">
<string>File</string>
</property>
<addaction name="actionCarica_Preset"/>
<addaction name="actionSalva_Preset"/>
</widget>
<widget class="QMenu" name="menuOpzioni">
<property name="title">
<string>Opzioni</string>
</property>
<addaction name="actionAvanzate"/>
<addaction name="actionLingua"/>
</widget>
<widget class="QMenu" name="menuAbout">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionAbout_SPEx"/>
<addaction name="actionManuale"/>
</widget>
<addaction name="bar_file"/>
<addaction name="menuOpzioni"/>
<addaction name="menuAbout"/>
</widget>
<action name="actionCarica_Preset">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-documents-folder-80.png</normaloff>:/ico/icons/icons8-documents-folder-80.png</iconset>
</property>
<property name="text">
<string>Carica Preset</string>
</property>
<property name="iconVisibleInMenu">
<bool>true</bool>
</property>
</action>
<action name="actionSalva_Preset">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-save-80.png</normaloff>:/ico/icons/icons8-save-80.png</iconset>
</property>
<property name="text">
<string>Salva Preset</string>
</property>
</action>
<action name="actionOpzioni">
<property name="text">
<string>Opzioni</string>
</property>
</action>
<action name="actionLingua">
<property name="enabled">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-globe-earth-80.png</normaloff>:/ico/icons/icons8-globe-earth-80.png</iconset>
</property>
<property name="text">
<string>Lingua Interfaccia</string>
</property>
</action>
<action name="actionAvanzate">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<property name="text">
<string>Avanzate</string>
</property>
</action>
<action name="actionManuale">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-user-manual-80.png</normaloff>:/ico/icons/icons8-user-manual-80.png</iconset>
</property>
<property name="text">
<string>Manuale</string>
</property>
</action>
<action name="actionAbout_SPEx">
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-info-80.png</normaloff>:/ico/icons/icons8-info-80.png</iconset>
</property>
<property name="text">
<string>About SPEx</string>
</property>
</action>
</widget>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,418 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>selezout</class>
<widget class="QWidget" name="selezout">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>718</width>
<height>573</height>
</rect>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Seleziona Linuga e Output</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="lbl_lingua">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona la lingua degli articoli</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QComboBox" name="cmb_lingua">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>true</bool>
</property>
<property name="modelColumn">
<number>0</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lbl_indicazioni">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Seleziona il tipo di file da salvare</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
<item>
<widget class="QRadioButton" name="rad_mainbodyEFile">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Bodyfile + File singoli</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_mainbody">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Bodyfile</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_file">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>File singoli</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lbl_indicazioni_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Altre Opzioni </string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="chk_removeDuplicates">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Tenta rimozione duplicati</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="chk_includeTitle">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Includi titolo all'interno del file</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chk_removeBreakWord">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Rimuovi interruzioni parola (a capo)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="chk_cleaDestFolder">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Svuota cartella di destinazione</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Caratteri speciali da rimuovere </string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lin_specialChars"/>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btn_indietro">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Indietro</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80-back.png</normaloff>:/ico/icons/icons8-arrow-80-back.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_split">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>SPLITTA!</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/logo4.png</normaloff>:/ico/icons/logo4.png</iconset>
</property>
<property name="iconSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>cmb_lingua</tabstop>
<tabstop>rad_mainbodyEFile</tabstop>
<tabstop>rad_mainbody</tabstop>
<tabstop>rad_file</tabstop>
<tabstop>chk_removeDuplicates</tabstop>
<tabstop>chk_includeTitle</tabstop>
<tabstop>chk_removeBreakWord</tabstop>
<tabstop>chk_cleaDestFolder</tabstop>
<tabstop>lin_specialChars</tabstop>
<tabstop>btn_split</tabstop>
<tabstop>btn_indietro</tabstop>
</tabstops>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -0,0 +1,615 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>titolo</class>
<widget class="QWidget" name="titolo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>715</width>
<height>567</height>
</rect>
</property>
<property name="font">
<font>
<family>Rockwell</family>
</font>
</property>
<property name="windowTitle">
<string>Nomi file di Uscita</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="5" column="0" colspan="3">
<layout class="QHBoxLayout" name="lyt_nchars">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>
<item>
<widget class="QLabel" name="lbl_ncarat">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Numero di caratteri</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spn_ncarat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="wrapping">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="minimum">
<number>3</number>
</property>
<property name="maximum">
<number>32</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="7" column="0" colspan="3">
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="15" column="0" colspan="3">
<layout class="QHBoxLayout" name="lyt_buttons">
<item>
<widget class="QPushButton" name="btn_avanzate">
<property name="minimumSize">
<size>
<width>120</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Opzioni Avanzate (Titolo)</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-smartphone-ram-100.png</normaloff>:/ico/icons/icons8-smartphone-ram-100.png</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btn_indietro">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Indietro</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80-back.png</normaloff>:/ico/icons/icons8-arrow-80-back.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_avanti">
<property name="minimumSize">
<size>
<width>100</width>
<height>40</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>Avanti</string>
</property>
<property name="icon">
<iconset resource="resources/resources.qrc">
<normaloff>:/ico/icons/icons8-arrow-80.png</normaloff>:/ico/icons/icons8-arrow-80.png</iconset>
</property>
<property name="iconSize">
<size>
<width>25</width>
<height>25</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="3" column="0" colspan="3">
<layout class="QVBoxLayout" name="lyt_date">
<item>
<widget class="QRadioButton" name="rad_datajpn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>YYYY MM DD, es. 20001231 (jpn)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_dataita">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>DD MM YYYY, es. 31122000 (ita)</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_datausa">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>MM DD YYYY, es. 12312000 (us)</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="lbl_impotit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Impostazioni nome file in uscita</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="chk_data">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item row="9" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="chk_titolo">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Titolo articolo</string>
</property>
</widget>
</item>
<item row="9" column="0">
<layout class="QFormLayout" name="lyt_sep">
<item row="0" column="0">
<widget class="QRadioButton" name="rad_spazio">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Spazio</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="rad_virgola">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>,</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="rad_piu">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>+</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="rad_tratt">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>-</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="rad_trattbass">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>_</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QRadioButton" name="rad_altro">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Altro:</string>
</property>
<attribute name="buttonGroup">
<string notr="true">btngrp_divisore</string>
</attribute>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lin_altro">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item row="8" column="0" colspan="2">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Separatore</string>
</property>
</widget>
</item>
<item row="14" column="0" colspan="3">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="chk_docnum">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Rockwell</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Numero documento</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<tabstops>
<tabstop>chk_data</tabstop>
<tabstop>rad_datajpn</tabstop>
<tabstop>rad_dataita</tabstop>
<tabstop>rad_datausa</tabstop>
<tabstop>chk_titolo</tabstop>
<tabstop>spn_ncarat</tabstop>
<tabstop>chk_docnum</tabstop>
<tabstop>rad_spazio</tabstop>
<tabstop>rad_tratt</tabstop>
<tabstop>rad_virgola</tabstop>
<tabstop>rad_trattbass</tabstop>
<tabstop>rad_piu</tabstop>
<tabstop>rad_altro</tabstop>
<tabstop>lin_altro</tabstop>
<tabstop>btn_avanzate</tabstop>
<tabstop>btn_avanti</tabstop>
<tabstop>btn_indietro</tabstop>
</tabstops>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
<buttongroups>
<buttongroup name="btngrp_divisore"/>
</buttongroups>
</ui>

View File

@@ -1 +0,0 @@
Qui si mettono i file di test per la versione GUI di bananaSPLIT

BIN
TuxBuild/SPEx Executable file

Binary file not shown.

View File

@@ -0,0 +1,70 @@
{
"version": "v1.41",
"paths": {
"lastUsed": "defaults.json",
"configurationPath": "./conf/",
"INworkPath": "C://",
"OUTworkPath": "C://",
"fileList": [
"bdlog.txt"
]
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"uiLang": "en",
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,76 @@
{
"Italiano": {
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"English": {
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
}
}

67
TuxBuild/conf/linux.json Normal file
View File

@@ -0,0 +1,67 @@
{
"version": "v1.3",
"paths": {
"lastUsed": "linux.json",
"configurationPath": "./conf/",
"INworkPath": "/home/",
"OUTworkPath": "/home/",
"fileList": []
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,5 @@
{
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
}

BIN
TuxBuild/logo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
WinBuild/SPEx.exe Normal file

Binary file not shown.

View File

@@ -1,32 +0,0 @@
# -*- mode: python -*-
block_cipher = None
a = Analysis(['main.py'],
pathex=['D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT'],
binaries=[],
datas=[('C:\\Users\\Emanuele Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin', '.\\text_unidecode')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='bananaSPLIT.exe',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True , icon='banana.ico')

File diff suppressed because it is too large Load Diff

View File

@@ -1,210 +0,0 @@
('D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\dist\\bananaSPLIT.exe',
True,
False,
False,
'banana.ico',
None,
False,
False,
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity name="bananaSPLIT.exe" processorArchitecture="amd64" type="win32" version="1.0.0.0"/><dependency><dependentAssembly><assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"/></dependentAssembly></dependency><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/></application></compatibility></assembly>',
True,
'bananaSPLIT.pkg',
[('PYZ-00.pyz',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PYZ-00.pyz',
'PYZ'),
('struct',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\localpycos\\struct.pyo',
'PYMODULE'),
('pyimod01_os_path',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod01_os_path.pyc',
'PYMODULE'),
('pyimod02_archive',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod02_archive.pyc',
'PYMODULE'),
('pyimod03_importers',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod03_importers.pyc',
'PYMODULE'),
('pyiboot01_bootstrap',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
'PYSOURCE'),
('main',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\main.py',
'PYSOURCE'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-stdio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-runtime-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'c:\\program files\\python37\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-math-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('ucrtbase.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\ucrtbase.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-profile-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-util-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('_ssl', 'c:\\program files\\python37\\DLLs\\_ssl.pyd', 'EXTENSION'),
('unicodedata',
'c:\\program files\\python37\\DLLs\\unicodedata.pyd',
'EXTENSION'),
('pyexpat', 'c:\\program files\\python37\\DLLs\\pyexpat.pyd', 'EXTENSION'),
('_hashlib', 'c:\\program files\\python37\\DLLs\\_hashlib.pyd', 'EXTENSION'),
('_bz2', 'c:\\program files\\python37\\DLLs\\_bz2.pyd', 'EXTENSION'),
('_lzma', 'c:\\program files\\python37\\DLLs\\_lzma.pyd', 'EXTENSION'),
('_socket', 'c:\\program files\\python37\\DLLs\\_socket.pyd', 'EXTENSION'),
('select', 'c:\\program files\\python37\\DLLs\\select.pyd', 'EXTENSION'),
('_ctypes', 'c:\\program files\\python37\\DLLs\\_ctypes.pyd', 'EXTENSION'),
('_contextvars',
'c:\\program files\\python37\\DLLs\\_contextvars.pyd',
'EXTENSION'),
('_decimal', 'c:\\program files\\python37\\DLLs\\_decimal.pyd', 'EXTENSION'),
('libcrypto-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
'BINARY'),
('libssl-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-utility-l1-1-0.dll',
'BINARY'),
('text_unidecode\\data.bin',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin',
'DATA'),
('base_library.zip',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\base_library.zip',
'DATA'),
('bananaSPLIT.exe.manifest',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\bananaSPLIT.exe.exe.manifest',
'BINARY'),
('pyi-windows-manifest-filename bananaSPLIT.exe.manifest', '', 'OPTION')],
[],
False,
False,
1563704332,
[('run.exe',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\bootloader\\Windows-64bit\\run.exe',
'EXECUTABLE')])

View File

@@ -1,202 +0,0 @@
('D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PKG-00.pkg',
{'BINARY': 1,
'DATA': 1,
'EXECUTABLE': 1,
'EXTENSION': 1,
'PYMODULE': 1,
'PYSOURCE': 1,
'PYZ': 0},
[('PYZ-00.pyz',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PYZ-00.pyz',
'PYZ'),
('struct',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\localpycos\\struct.pyo',
'PYMODULE'),
('pyimod01_os_path',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod01_os_path.pyc',
'PYMODULE'),
('pyimod02_archive',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod02_archive.pyc',
'PYMODULE'),
('pyimod03_importers',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod03_importers.pyc',
'PYMODULE'),
('pyiboot01_bootstrap',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
'PYSOURCE'),
('main',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\main.py',
'PYSOURCE'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-stdio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-runtime-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'c:\\program files\\python37\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-math-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('ucrtbase.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\ucrtbase.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-profile-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-util-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('_ssl', 'c:\\program files\\python37\\DLLs\\_ssl.pyd', 'EXTENSION'),
('unicodedata',
'c:\\program files\\python37\\DLLs\\unicodedata.pyd',
'EXTENSION'),
('pyexpat', 'c:\\program files\\python37\\DLLs\\pyexpat.pyd', 'EXTENSION'),
('_hashlib', 'c:\\program files\\python37\\DLLs\\_hashlib.pyd', 'EXTENSION'),
('_bz2', 'c:\\program files\\python37\\DLLs\\_bz2.pyd', 'EXTENSION'),
('_lzma', 'c:\\program files\\python37\\DLLs\\_lzma.pyd', 'EXTENSION'),
('_socket', 'c:\\program files\\python37\\DLLs\\_socket.pyd', 'EXTENSION'),
('select', 'c:\\program files\\python37\\DLLs\\select.pyd', 'EXTENSION'),
('_ctypes', 'c:\\program files\\python37\\DLLs\\_ctypes.pyd', 'EXTENSION'),
('_contextvars',
'c:\\program files\\python37\\DLLs\\_contextvars.pyd',
'EXTENSION'),
('_decimal', 'c:\\program files\\python37\\DLLs\\_decimal.pyd', 'EXTENSION'),
('libcrypto-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
'BINARY'),
('libssl-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-utility-l1-1-0.dll',
'BINARY'),
('text_unidecode\\data.bin',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin',
'DATA'),
('base_library.zip',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\base_library.zip',
'DATA'),
('bananaSPLIT.exe.manifest',
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\bananaSPLIT.exe.exe.manifest',
'BINARY'),
('pyi-windows-manifest-filename bananaSPLIT.exe.manifest', '', 'OPTION')],
False,
False,
False)

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="bananaSPLIT.exe" processorArchitecture="amd64" type="win32" version="1.0.0.0"/>
<dependency>
<dependentAssembly>
<assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"/>
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
</assembly>

View File

@@ -1,33 +0,0 @@
This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running you program. Python and
Python 3rd-party packages include a lot of conditional or optional module. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.
Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported from within a function
* optional: imported within a try-except-statement
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
yourself tracking down the missing module. Thanks!
missing module named resource - imported by posix (top-level), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named posix - imported by os (conditional, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named _posixsubprocess - imported by subprocess (conditional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named org - imported by pickle (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named readline - imported by cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named _winreg - imported by platform (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named java - imported by platform (delayed), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named 'java.lang' - imported by platform (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), xml.sax._exceptions (conditional)
missing module named vms_lib - imported by platform (delayed, conditional, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named termios - imported by tty (top-level), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), getpass (optional)
missing module named grp - imported by shutil (optional), tarfile (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), http.server (delayed, optional), webbrowser (delayed), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), netrc (delayed, conditional), getpass (delayed)
missing module named 'org.python' - imported by copy (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), xml.sax (delayed, conditional)
missing module named htmlentitydefs - imported by slugify.slugify (optional)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
{
"version": "v1.41",
"paths": {
"lastUsed": "defaults.json",
"configurationPath": "./conf/",
"INworkPath": "C://",
"OUTworkPath": "C://",
"fileList": [
"bdlog.txt"
]
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"uiLang": "en",
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,76 @@
{
"Italiano": {
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"English": {
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
}
}

67
WinBuild/conf/linux.json Normal file
View File

@@ -0,0 +1,67 @@
{
"version": "v1.3",
"paths": {
"lastUsed": "linux.json",
"configurationPath": "./conf/",
"INworkPath": "/home/",
"OUTworkPath": "/home/",
"fileList": []
},
"docStruct": {
"fileVersNew": false,
"language": "English",
"languageIdx": 1,
"docSep": "\\s*Copyright [(0-9)]+",
"beginOfDocument": "\\s*Body",
"endOfDocument": "\\s*End of Document",
"dateFormat": "{month} {day:d}, {year:d}{}",
"outPrefix": "",
"outSuffix": "",
"outExt": ".txt",
"outDateType": "jpn",
"outNameFormat": "",
"outDate": true,
"outTitle": true,
"outNumber": true,
"numberPos": 1,
"datePos": 2,
"titlePos": 3,
"maxTitleLen": 16,
"outNameSep": "-",
"customSep": "=",
"dateFormats": {
"jpn": "{year:04d}{month:02d}{day:02d}",
"it": "{day:02d}{month:02d}{year:04d}",
"usa": "{month:02d}{year:04d}{day:02d}"
}
},
"settings": {
"winW": 800,
"winH": 700,
"encoding": "windows-1252",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": false,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}

View File

@@ -0,0 +1,5 @@
{
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
}

Binary file not shown.

View File

@@ -1,64 +0,0 @@
{
"INworkPath": "D:\\Test\\",
"OUTworkPath": "D:\\Test\\Separati\\",
"OUTnameFormat":"BLOG_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt",
"docStruct": {
"docSep": "\\s*Copyright [(0-9)]+",
"dateFormat":"{month} {day:d}, {year:d}{}",
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID" ,
"NOTES",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr" : "--ND--",
"includeTitle" : true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": true,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles":true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber":true,
"delLF": false,
"delWordBreak": true,
"delChars": "'|@|#"
}
}

View File

@@ -1,62 +0,0 @@
{
"INworkPath": "C:\\Test\\",
"OUTworkPath": "C:\\Test\\Separati\\",
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{papername}_{title}.txt",
"docStruct": {
"docSep": "Copyright [(0-9)]+",
"dateFormat":"{day:d} {month} {year:d} {}",
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:"
]
},
"settings":
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr" : "--ND--",
"includeTitle" : true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": true,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles":true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber":true,
"delLF": false,
"delWordBreak": true,
"delChars": "'|@|#"
}
}

View File

@@ -1,2 +0,0 @@
*.py[ocd]
/bananaSPLIT.exe.spec

View File

@@ -1,121 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>509</width>
<height>303</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>509</width>
<height>303</height>
</size>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>80</y>
<width>251</width>
<height>141</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QRadioButton" name="rad_MainbodyEFile">
<property name="text">
<string>Main body + File singoli</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_File">
<property name="text">
<string>File singoli</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rad_Mainbody">
<property name="text">
<string>Main body</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="lbl_indicazioni">
<property name="geometry">
<rect>
<x>30</x>
<y>20</y>
<width>401</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Seleziona i file che il programma ti deve fare*chiaramente da cambiare le parole</string>
</property>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>330</x>
<y>230</y>
<width>160</width>
<height>51</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btn_Indietro">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Indietro</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_Avanti">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Avanti</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -1,164 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>win_main</class>
<widget class="QMainWindow" name="win_main">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>519</width>
<height>391</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>110</y>
<width>131</width>
<height>71</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_cartellasorg">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella sorgente</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_cartelladest">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Cartella destinazione</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="verticalLayoutWidget_2">
<property name="geometry">
<rect>
<x>150</x>
<y>110</y>
<width>34</width>
<height>71</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="btn_cartellasorg">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cartelladest">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>10</x>
<y>80</y>
<width>491</width>
<height>16</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>180</y>
<width>421</width>
<height>80</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="chk_predefinita">
<property name="text">
<string>Rendi predefinite le cartelle</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_avanti">
<property name="minimumSize">
<size>
<width>79</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>79</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Avanti</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QPushButton" name="btn_opzioni">
<property name="geometry">
<rect>
<x>420</x>
<y>300</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Opzioni</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>519</width>
<height>21</height>
</rect>
</property>
<widget class="QMenu" name="menuBananaSplit">
<property name="title">
<string>BananaSplit</string>
</property>
</widget>
<addaction name="menuBananaSplit"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

View File

@@ -1,64 +0,0 @@
{
"INworkPath": "D:\\Test\\",
"OUTworkPath": "D:\\Test\\Separati\\",
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt",
"docStruct": {
"docSep": "\\s*Copyright [(0-9)]+",
"dateFormat":"{month} {day:d}, {year:d}{}",
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID" ,
"NOTES",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr" : "--ND--",
"includeTitle" : true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": true,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles":true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber":true,
"delLF": false,
"delWordBreak": true,
"delChars": "'|@|#"
}
}

View File

@@ -1,61 +0,0 @@
{
"INworkPath": "C:\\Test\\",
"OUTworkPath": "C:\\Test\\Separati\\",
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{papername}_{title}.txt",
"docStruct": {
"docSep": "Copyright [(0-9)]+",
"dateFormat":"{day:d} {month} {year:d} {}",
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:"
]
},
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr" : "--ND--",
"includeTitle" : true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": true,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles":true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber":true,
"delLF": false,
"delWordBreak": true,
"delChars": "'|@|#"
}
}

View File

@@ -1,83 +0,0 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
import json,os,glob,copy
class bananaCONF(object):
'''
Carica e Salva file di configurazione per bananaSPLITTER
'''
def __init__(self, workdir=None, logger=None):
self.log = logger
self.fileList = None
self.workdir = None
self.inUse = None
self.settingsList = dict()
if workdir is not None:
self.workdir = workdir
os.chdir(workdir)
self.log.debug("Cerco le configurazioni in: [{}]".format(os.getcwd()))
else:
self.log.error("Non mi e' stata fornita una directory per i file di configurazione")
pass
def open(self):
self.log.info("Carico i file di configurazione")
self.fileList = glob.glob(r"*.json")
if len(self.fileList) > 0:
for f in self.fileList:
try:
fp = open(f)
tf = json.load(fp)
fName = f.split("\\")[-1]
self.settingsList[fName] = copy.deepcopy(tf)
self.log.info("Caricato correttamente: {}".format(fName))
fp.close()
except json.JSONDecodeError as e:
self.log.error("Impossibile leggere la configurazione:{}\n \
Controlla il file a riga: {} e colonna:{}" .format(e.doc, e.lineno, e.colno))
except IOError as ee:
self.log.error("Impossibile aprire il file: {}".format(ee))
except Exception as eee:
self.log.critical("Eccezione inaspettata: {}".format(eee))
else:
self.log.error("Non ho trovato alcun file di configurazione!")
pass
def reload(self):
self.settingsList = None
self.fileList = None
self.inUse = None
self.open()
pass
def use(self, toUse):
self.inUse = toUse
pass
def save(self):
self.log.info("Salvo la configurazione: {}".format(self.inUse))
try:
os.chdir(self.workdir)
f=open(self.inUse)
json.dump(self.settingsList[self.inUse], f)
f.close()
except IOError as e:
self.log.error("Impossibile salvare il file: {} - [{}]".format(self.inUse,e))
pass
def getFiles(self):
return self.fileList
def getParams(self, k):
return self.settingsList[self.inUse][k]
pass
def setParams(self, k, v):
self.settingsList[self.inUse][k]=dict(v)
pass

View File

@@ -1,85 +0,0 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
import sys, os
import json
import logging
import colorama
class fancyLogger(object):
'''
Colorizza il logger di python, per un' esperienza stile willy wonka
'''
def __init__(self, name="Logger", consoleLog=True, fileLog=True):
settings = json.load(open(os.getcwd()+r"\libbananasplit\testEN.json"))["logger"]
colorama.init(convert=True)
self.LRED = colorama.Fore.LIGHTRED_EX
self.RED = colorama.Fore.RED
self.LYELLOW = colorama.Fore.LIGHTYELLOW_EX
self.YELLOW = colorama.Fore.YELLOW
self.LBLUE = colorama.Fore.LIGHTBLUE_EX
self.BLUE = colorama.Fore.BLUE
self.LGREEN = colorama.Fore.LIGHTGREEN_EX
self.LGREEN = colorama.Fore.GREEN
self.WHITE = colorama.Fore.LIGHTWHITE_EX
self.RST = colorama.Style.RESET_ALL
# Setup Logger
self.LOGGER = logging.getLogger(name)
self.LOGGER.setLevel(logging.DEBUG)
self.LOGGER.propagate = False
FORMATTER = logging.Formatter((settings["logFormat"]), (settings["logTimeFormat"]))
if fileLog:
# File Logging
fh = logging.FileHandler((settings["logFile"]))
fh.setLevel(logging.DEBUG)
fh.setFormatter(FORMATTER)
self.LOGGER.addHandler(fh)
if consoleLog:
# Console Logging
cl= logging.StreamHandler(sys.stdout)
cl.setLevel(logging.DEBUG)
cl.setFormatter(FORMATTER)
self.LOGGER.addHandler(cl)
pass
def debug(self, msg="Undefined Debug"):
print(self.LBLUE, end='')
self.LOGGER.debug(msg)
print(self.RST, end='')
pass
def info(self, msg="Undefined Info"):
print(self.LGREEN, end='')
self.LOGGER.info(msg)
print(self.RST, end='')
pass
def warn(self, msg="Undefined Warning"):
print(self.LYELLOW, end='')
self.LOGGER.warning(msg)
print(self.RST, end='')
pass
def error(self, msg="Undefined Error"):
print(self.LRED, end='')
self.LOGGER.error(msg)
print(self.RST, end='')
pass
def critical(self, msg="Undefined Critical"):
print(self.RED, end='')
self.LOGGER.critical(msg)
print(self.RST, end='')
pass
def testColors(self):
self.debug("Test Debug")
self.info("Test Info")
self.warn("Test Warning")
self.error("Test Error")
self.critical("Test Critical")
pass

View File

@@ -1,276 +0,0 @@
'''
Created on 2 nov 2019
@author: Emanuele Trabattoni
'''
from slugify.slugify import slugify
import time, parse, re, copy, os, threading
class bananaSPLITTER(threading.Thread):
def __init__(self, fileParams=None, logger=None):
threading.Thread.__init__(self)
self.fileParams = fileParams
self.log = logger
self.rawFile = None
self.status = "first"
self.fileList = list()
self.bodyCounter=0
self.duplicateNumber=0
if fileParams is not None:
self.log.info("Sto operando sul file: {}..".format(self.fileParams['name']))
self.paths = self.fileParams['paths']
self.docStruct = self.fileParams['docStruct']
self.settings = self.fileParams['settings']
self.fileName = self.fileParams['name']
self.outPath = self.paths['OUTworkPath']+slugify(self.fileName)
self.beginTime = time.time()
pass
else:
self.log.critical("Non e' stato fornito il nome di alcun file da splittare!")
pass
def run(self):
self.log.info("Nuovo SPLITTER su file: {}".format(self.fileName))
try:
self.openFile()
self.remEmptyLines()
self.splitFile()
if self.settings['removeDuplicates']:
self.log.info("Controllo se ci sono dei duplicati..")
self.removeDuplicates()
else:
for idx, ff in enumerate(self.fileList):
ff['duplicate']=False
self.fileList[idx]=ff
self.log.warn('Salto il controllo dei duplicati..')
# se il parse e la rimozione dei duplicati e' andata bene
# preparo e inizio il salvataggio
if os.path.exists(self.outPath):
if self.settings['removeOldFiles']:
os.chdir(self.outPath)
for f in os.listdir(self.outPath):
os.remove(f)
else:
raise FileExistsError("Non posso sovrascrivere i vecchi file, eliminali manualmente!")
else:
os.mkdir(self.outPath)
os.chdir(self.outPath)
if self.settings['saveSeparateFiles']:
self.saveSeparate()
if self.settings['saveBodyFile']:
self.saveBody()
self.log.info("L'elaborazione del file ha richiesto {:4.2f} sec".format(time.time()-self.beginTime))
except UnicodeDecodeError as ee:
self.log.critical("Il file [{}] contiene caratteri non compatibili con la codifica scelta! [{}]"
.format(self.fileParams['name'],ee))
except FileExistsError as fe:
self.log.critical(fe)
except BaseException as ee:
self.log.warning(ee)
pass
def openFile(self):
try:
os.chdir(self.paths["INworkPath"])
self.log.info("Carico il contenuto..")
fp = open(self.fileParams['name'], mode='r', encoding=self.settings['encoding'])
self.rawFile = fp.readlines()
fp.close()
except IOError as e:
self.log.critical("Impossibile aprire il file: {}! [{}]".format(self.fileName,e))
raise BaseException("OpenFile")
os.rmdir(self.outPath)
pass
def remEmptyLines(self):
self.log.info("Elimino righe vuote e caratteri inutili..")
tempContent = []
try:
for ll in self.rawFile:
for c in self.settings['delChars']:
ll = ll.replace(c,'')
if ll not in ['\n', '\r']:
tempContent.append(ll)
self.rawFile = copy.deepcopy(tempContent)
return True
except:
self.log.error("Errore inaspettato durante l'eliminazione delle righe vuote!")
raise BaseException("DelLines")
del tempContent
def splitFile(self): #porting del codice dal programma originale
self.log.info("Individuo il contenuto..")
self.bodyCounter=0
self.duplicateNumber=0
docNumber = 0
docSkipped = 0
docDate = {}
title = ''
prevLine = ''
newsPaperName = ''
titleBegin = False
tempBody = list()
docSep=re.compile(self.docStruct['docSep'])
for l in self.rawFile: #per ogni linea del file
lineWords = l.lstrip().split(' ') #dividi la riga in parole
if self.status == 'first':
#prendo il numero di documento per vedere se ci sono buchi
try:
try:
nn = parse.parse("{current:d} Of {total} Documents",l.strip().capitalize()).named
if nn["current"]-docNumber==1:
pass
else:
if self.settings["showSkipped"]:
self.log.warn("Il conto dei documenti non torna! LexisNexis \
ne ha saltato qualcuno!\nPrecedente:{0}-Attuale:{1}".format(docNumber,nn["current"]))
docSkipped+=1
docNumber = nn["current"]
except:
pass #non segnalare eccezione se il parse fallisce
# ricerco la data
if (lineWords[self.settings['monthPosition']]).capitalize() in self.docStruct['dateWords']:
try:
docDate=parse.parse(self.docStruct['dateFormat'],l).named
docDate['month']=docDate['month'].lstrip().rstrip().capitalize()
docDate['month']=self.docStruct['dateWords'].index(docDate['month'])+1
title = ''
titleBegin=True
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
if self.settings['getNewsPaperName']:
try:
if prevLine.split(' ')[0].strip().isalpha():
newsPaperName = prevLine.strip()
else:
newsPaperName = self.settings['nameNotFoundStr']
except:
self.log.warn("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
controlla i file di uscita! [{}]".format(prevLine.strip()))
else:
newsPaperName = self.settings['nameNotFoundStr']
except:
self.log.warn("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: [{}]". format(l.strip('\r\n')))
pass
elif lineWords[0] in self.docStruct['headWords']:
#cambio stato e inizializzo un nuovo documento da riempire
self.status = 'head'
newDoc=dict()
newDoc['title']=title
newDoc['date']=docDate
newDoc['newsPaperName'] = newsPaperName
titleBegin=False
else:
if titleBegin:
title += l.strip().capitalize()
except IndexError:
self.log.error("Errore inaspettato, contatta il tuo sviluppatore di fiducia!")
pass
elif self.status == 'head':
tempContent = list()
if lineWords[0] not in self.docStruct['headWords']: #se la prima parola non e' tra quelle di inizio
tempBody.append(l) # vuol dire che ho trovato l'articolo e aggiungo la prima riga al contenuto del documento
self.status = 'body'
pass
elif self.status == 'body':
if not lineWords[0] in self.docStruct['tailWords']: #se la prima parola non e' tra quelle di fine
if self.settings['delLF']:
tempBody.append(l.strip('\n')) #allora sto leggendo l'articolo
else:
tempBody.append(l)
else:
self.status = 'tail'
anomaly = False
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\
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t[{}]".format(docNumber, l.strip()))
self.status = 'tail'
anomaly = True
pass
elif self.status == 'tail':
if docSep.match(l) is not None or anomaly:
self.status = 'first'
anomaly = False
if self.settings['delWordBreak']:
tempContent=[ll.replace('-\n', '') for ll in tempContent]
newDoc['content']=copy.deepcopy(''.join(tempBody))
self.fileList.append(copy.deepcopy(newDoc))
tempBody=list()
self.bodyCounter +=1
pass
else:
self.log.critical("Stato Interno Sconosciuto")
prevLine=l #salva sempre e comunque il contenuto della linea precedente
pass
#ricerca terminata, espongo i risultati
self.log.info("Nel file ho trovato {0} articoli..".format(self.bodyCounter))
if docSkipped > 0:
self.log.warn("Attentione, LexisNexis ne ha saltati {} !!!".format(docSkipped))
pass
pass
def removeDuplicates(self):
titleList=[]
duplicateList=[]
for idx, ff in enumerate(self.fileList):
if ff['title'] not in titleList:
titleList.append(ff['title'])
ff['duplicate']=False
self.fileList[idx]=ff
pass
else:
if ff['title'] not in duplicateList:
duplicateList.append(ff['title'])
if self.settings['showRemovedDuplicates']:
self.log.info("Duplicato: {}".format(ff['title'].strip()))
ff['duplicate'] = True
self.fileList[idx]=ff
self.duplicateNumber+=1
self.log.info("Ho rimosso {} duplicati di {} articoli..". format(self.duplicateNumber, len(duplicateList)))
pass
def saveSeparate(self):
outFileCounter = 0
self.paths['OUTworkPath']=self.paths['OUTworkPath']+slugify(self.fileName)
self.log.info("Salvo gli articoli in file separati...")
self.log.debug("Persorso: {0}".format(self.paths['OUTworkPath'].format('nomeFile')))
for ff in self.fileList:
try:
if ff['duplicate'] == False:
fName=self.paths['OUTnameFormat'].format(title=slugify(ff['title'][:self.settings['maxTitleLen']]),\
filename=slugify(self.fileName),\
docnum=outFileCounter,\
papername=ff['newsPaperName'].strip(),\
**ff['date'])
out=open('{0}'.format(fName),'wb')
if self.settings['includeTitle']:
ff['content'] = ff['title']+os.linesep+ff['content']
out.write(ff['content'].encode(self.settings['encoding']))
out.close()
outFileCounter+=1
except IOError as e:
self.log.error("Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
continue
if outFileCounter < self.bodyCounter:
raise BaseException("Ho salvato meno file rispetto a quelli trovati!")
pass
def saveBody(self):
self.log.info('Salvo gli articoli in un singolo file vicino agli originali...')
self.log.debug('Persorso: {0}'.format(self.outPath))
os.chdir(self.outPath)
try:
fName=slugify(self.fileName)
fName='BODYFILE_{0}.txt'.format(fName[:self.settings['maxTitleLen']])
fileContent = os.linesep.join([cc['content'] for cc in self.fileList])
out=open('{0}'.format(fName),'wb')
out.write(fileContent.encode(self.settings['encoding']))
out.close()
except IOError as e:
self.log.error("Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
pass

View File

@@ -1,83 +0,0 @@
{
"version": "v1.1a",
"logger": {
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
},
"splitter": {
"name": "",
"paths": {
"INworkPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\TestFiles\\",
"OUTworkPath": "H:\\",
"OUTnameFormat": "TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt"
},
"docStruct": {
"docSep": "\\s*Copyright [(0-9)]+",
"dateFormat": "{month} {day:d}, {year:d}{}",
"dateWords": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"Newstex ID:",
"NOTES:",
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:",
"JOURNAL-CODE:"
]
},
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": true,
"showRemovedDuplicates": false,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}
}

View File

@@ -1,80 +0,0 @@
{
"version": "v1.1a",
"logger": {
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
},
"splitter": {
"name": "",
"paths": {
"INworkPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\TestFiles\\",
"OUTworkPath": "H:\\",
"OUTnameFormat": "TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt"
},
"docStruct": {
"docSep": "Copyright [(0-9)]+",
"dateFormat": "{day:d} {month} {year:d} {}",
"dateWords": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"headWords": [
"BYLINE:",
"SECTION:",
"LENGTH:",
"DATELINE:",
"HIGHLIGHT:",
"Email:"
],
"tailWords": [
"LANGUAGE:",
"GRAPHIC:",
"TYPE:",
"URL:",
"LOAD-DATE:",
"PUBLICATION-TYPE:",
"DOCUMENT-TYPE:",
"CHARTS:"
]
},
"settings": {
"encoding": "utf-8",
"monthPosition": 0,
"getNewsPaperName": true,
"nameNotFoundStr": "ND",
"includeTitle": true,
"removeDuplicates": true,
"showSkipped": false,
"showRemovedDuplicates": true,
"maxTitleLen": 32,
"loadTXT": true,
"loadDOCX": false,
"removeOldFiles": true,
"saveSeparateFiles": true,
"saveBodyFile": true,
"saveBodyNumber": true,
"delLF": false,
"delWordBreak": true,
"delChars": [
"'",
"@",
"#",
"$",
"%",
"^",
"&"
]
}
}
}

View File

@@ -1,35 +0,0 @@
'''
Created on 1 dic 2019
@author: Emanuele Trabattoni
'''
import os
from glob import glob
from copy import deepcopy
from libsplit import bananaSPLITTER
from libconfload import bananaCONF
from libfancylogger import fancyLogger
if __name__ == "__main__":
print("CWD-> "+os.getcwd())
logger = fancyLogger(fileLog = False)
confl = bananaCONF(workdir=r"./libbananasplit", logger=logger)
confl.open()
confl.use("testEN.json")
splconf = confl.getParams("splitter")
splist = []
os.chdir(splconf["paths"]["INworkPath"])
for f in glob("*.txt"):
splconf["name"] = f
logger.info("-"*80)
splitter = bananaSPLITTER(fileParams=deepcopy(splconf), logger=logger)
splist.append(splitter)
splitter.start()
splitter.join()
logger.info("\n"+"="*50+"\n\tFINITO!!!\n"+"="*50)

Some files were not shown because too many files have changed in this diff Show More