corretti problemi di pylint
c'e' da renderlo meno rompicoglioni
This commit is contained in:
Generated
+28
-1
@@ -34,6 +34,18 @@ docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"]
|
||||
tests = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
|
||||
tests_no_zope = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
|
||||
|
||||
[[package]]
|
||||
category = "dev"
|
||||
description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"
|
||||
name = "autopep8"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "1.5.4"
|
||||
|
||||
[package.dependencies]
|
||||
pycodestyle = ">=2.6.0"
|
||||
toml = "*"
|
||||
|
||||
[[package]]
|
||||
category = "dev"
|
||||
description = "Cross-platform colored terminal text."
|
||||
@@ -119,6 +131,14 @@ optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "1.9.0"
|
||||
|
||||
[[package]]
|
||||
category = "dev"
|
||||
description = "Python style guide checker"
|
||||
name = "pycodestyle"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "2.6.0"
|
||||
|
||||
[[package]]
|
||||
category = "dev"
|
||||
description = "python code static checker"
|
||||
@@ -238,7 +258,7 @@ python-versions = "*"
|
||||
version = "1.12.1"
|
||||
|
||||
[metadata]
|
||||
content-hash = "e35375126d07552fb1e200007cf6bd02991d90c71eb261f21b33919e77395a58"
|
||||
content-hash = "f2c0aacdec9a2b08fb05b279563096aab92c78d4b64ccc312db25de8e74a910f"
|
||||
lock-version = "1.0"
|
||||
python-versions = "^3.8"
|
||||
|
||||
@@ -255,6 +275,9 @@ 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.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"},
|
||||
{file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"},
|
||||
@@ -309,6 +332,10 @@ 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"},
|
||||
]
|
||||
pylint = [
|
||||
{file = "pylint-2.6.0-py3-none-any.whl", hash = "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f"},
|
||||
{file = "pylint-2.6.0.tar.gz", hash = "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210"},
|
||||
|
||||
@@ -13,6 +13,7 @@ parse = "*"
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "^5.2"
|
||||
pylint = "^2.6.0"
|
||||
autopep8 = "^1.5.4"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry>=0.12"]
|
||||
|
||||
+159
-102
@@ -6,34 +6,35 @@ TODO LIST
|
||||
1. rendere threaded lo splitter.. tentativo colore 100..
|
||||
|
||||
'''
|
||||
import sys, copy, json, os
|
||||
import PyQt5.QtWidgets
|
||||
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 userInterface.compiledUI.mainwindow import Ui_mainwin
|
||||
from userInterface.compiledUI.selezout import Ui_selezout
|
||||
from userInterface.compiledUI.titolow import Ui_titolo
|
||||
from userInterface.compiledUI.avanzatetitolo3 import Ui_advtitolo3 as Ui_advtitolo
|
||||
from userInterface.compiledUI.advopt import Ui_editconf
|
||||
from userInterface.compiledUI.about import Ui_about
|
||||
|
||||
from libbananasplit.libfancylogger import fancyLogger
|
||||
from libbananasplit.libconfload import bananaCONF
|
||||
from libbananasplit.libsplit import bananaSPLITTER
|
||||
|
||||
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)
|
||||
@@ -41,64 +42,55 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
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')))
|
||||
self.setFixedSize(QSize(self.conf.getParam(
|
||||
'settings', 'winW'), self.conf.getParam('settings', 'winH')))
|
||||
pass
|
||||
|
||||
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.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'])
|
||||
@@ -107,20 +99,18 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
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"))
|
||||
pass
|
||||
|
||||
def prevTab(self):
|
||||
self.ui.wgt_main.setCurrentIndex(self.ui.wgt_main.currentIndex()-1)
|
||||
self.logger.debug(self.tr("Tab Precedente"))
|
||||
pass
|
||||
|
||||
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 = 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)")
|
||||
@@ -132,11 +122,11 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
self.logger.debug(self.tr("Riempio tutte le tab"))
|
||||
self.fillAllInterfaces()
|
||||
pass
|
||||
|
||||
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 = PyQt5.QtWidgets.QFileDialog(
|
||||
self, "Salva Preset", self.conf.getParam('paths', 'configurationPath'))
|
||||
sf.setAcceptMode(PyQt5.QtWidgets.QFileDialog.AcceptSave)
|
||||
sf.setNameFilter("bananaCONF (*.json)")
|
||||
if sf.exec():
|
||||
@@ -152,18 +142,17 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
self.logger.debug(self.tr(f"Scrivo la configurazione: {rv}"))
|
||||
self.conf.save(fName=rv)
|
||||
pass
|
||||
|
||||
def openAdvOpt(self):
|
||||
self.logger.debug(self.tr("Apri Opzioni Avanzate"))
|
||||
self.advopt.fillInterface()
|
||||
self.advopt.show()
|
||||
pass
|
||||
|
||||
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)
|
||||
lang, flag = QInputDialog.getItem(self, self.tr(
|
||||
"Lingua"), self.tr("Disponibili"), langlist, 0, False)
|
||||
if flag:
|
||||
self.conf.setParam(('settings', 'uiLang'), lang)
|
||||
else:
|
||||
@@ -174,24 +163,29 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
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 is not "":
|
||||
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.logger.info(
|
||||
self.tr("Selezionata Cartella Sorgente: {}").format(rv+"/"))
|
||||
self.fillFileList()
|
||||
pass
|
||||
|
||||
def selezDest(self):
|
||||
rv = PyQt5.QtWidgets.QFileDialog.getExistingDirectory(self,self.tr("Seleziona Cartella Destinazione"),self.conf.getParam('paths','OUTworkPath'))
|
||||
if rv is not "":
|
||||
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+"/"))
|
||||
self.logger.info(
|
||||
self.tr("Selezionata Cartella Destinazione: {}").format(rv+"/"))
|
||||
pass
|
||||
|
||||
def selezVers(self):
|
||||
self.conf.setParam(('docStruct','fileVersNew'), self.ui.rad_fileNew.isChecked())
|
||||
self.conf.setParam(('docStruct', 'fileVersNew'),
|
||||
self.ui.rad_fileNew.isChecked())
|
||||
self.logger.debug(self.tr(f"Selezionata Versione File"))
|
||||
|
||||
def openFileDialog(self, name, path):
|
||||
@@ -209,6 +203,7 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
|
||||
####################### INTERFACES ##########################
|
||||
#############################################################
|
||||
|
||||
|
||||
class bananaTitolo(PyQt5.QtWidgets.QWidget):
|
||||
def __init__(self, confloader=None, logger=None):
|
||||
PyQt5.QtWidgets.QWidget.__init__(self)
|
||||
@@ -227,15 +222,22 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget):
|
||||
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')
|
||||
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'))
|
||||
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'))
|
||||
self.titoloui.chk_docnum.setChecked(
|
||||
self.conf.getParam('docStruct', 'outNumber'))
|
||||
#Separatore
|
||||
found = False
|
||||
for itmn in range(self.titoloui.lyt_sep.count()):
|
||||
@@ -246,7 +248,8 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget):
|
||||
found = True
|
||||
if not found:
|
||||
self.titoloui.rad_altro.setChecked(True)
|
||||
self.titoloui.lin_altro.setText(self.conf.getParam('docStruct', 'customSep'))
|
||||
self.titoloui.lin_altro.setText(
|
||||
self.conf.getParam('docStruct', 'customSep'))
|
||||
#finestra avanzate
|
||||
self.advtitolo.fillInterface()
|
||||
except:
|
||||
@@ -259,17 +262,22 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget):
|
||||
|
||||
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())
|
||||
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())
|
||||
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):
|
||||
@@ -278,6 +286,7 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget):
|
||||
self.advtitolo.applica()
|
||||
pass
|
||||
|
||||
|
||||
class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget):
|
||||
def __init__(self, confloader=None, logger=None):
|
||||
PyQt5.QtWidgets.QWidget.__init__(self)
|
||||
@@ -303,17 +312,28 @@ class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget):
|
||||
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'))
|
||||
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"))
|
||||
|
||||
@@ -408,8 +428,10 @@ class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget):
|
||||
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())
|
||||
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):
|
||||
@@ -428,16 +450,26 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
|
||||
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')))
|
||||
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')))
|
||||
pass
|
||||
except:
|
||||
self.log.critical(self.tr("SelezUscita: Configurazione non accettata"))
|
||||
@@ -445,24 +477,32 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
|
||||
|
||||
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(('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()))
|
||||
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()))
|
||||
pass
|
||||
|
||||
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']))
|
||||
lang = copy.deepcopy(self.conf.use(
|
||||
'languageconf.json').getParam(splconf['docStruct']['language']))
|
||||
splconf['docStruct']['language'] = lang
|
||||
self.conf.use(prefile)
|
||||
|
||||
@@ -472,19 +512,23 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
|
||||
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']])
|
||||
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'] != '':
|
||||
nametemp.insert(0, splconf['docStruct']['outPrefix']) #inserisco prefisso e suffisso
|
||||
# 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']
|
||||
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 = QMessageBox(parent=self, icon=QMessageBox.Warning,
|
||||
text=self.tr("Sto SPLITTANDO, attendi.."))
|
||||
msgb.setWindowTitle(self.tr("Sto Splittando.."))
|
||||
msgb.show()
|
||||
|
||||
@@ -497,7 +541,8 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
|
||||
try:
|
||||
for f in splconf['paths']['fileList']:
|
||||
splconf['name'] = f
|
||||
tDict[f] = bananaSPLITTER(fileParams=copy.deepcopy(splconf), logger=self.log)
|
||||
tDict[f] = bananaSPLITTER(
|
||||
fileParams=copy.deepcopy(splconf), logger=self.log)
|
||||
tDict[f].sendStatus.connect(updateState)
|
||||
tDict[f].run()
|
||||
#QThreadPool.globalInstance().start(tDict[f])
|
||||
@@ -507,6 +552,7 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget):
|
||||
msgb.setText(self.tr("FINITO!"))
|
||||
pass
|
||||
|
||||
|
||||
class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
|
||||
|
||||
update = pyqtSignal()
|
||||
@@ -526,7 +572,8 @@ class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
|
||||
|
||||
def fillInterface(self):
|
||||
try:
|
||||
self.advoptui.txt_confFile.setPlainText(json.dumps(self.conf.dump(),indent=2))
|
||||
self.advoptui.txt_confFile.setPlainText(
|
||||
json.dumps(self.conf.dump(), indent=2))
|
||||
except:
|
||||
self.log.critical(self.tr("AdvancedOptions: Configurazione non accettata"))
|
||||
pass
|
||||
@@ -536,13 +583,16 @@ class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
|
||||
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)
|
||||
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.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.setText(
|
||||
self.tr("Parametri inseriti validi, configurazione accettata"))
|
||||
self.errmsg.show()
|
||||
self.update.emit()
|
||||
self.hide()
|
||||
@@ -558,31 +608,38 @@ class bananaAdvOpt(PyQt5.QtWidgets.QWidget):
|
||||
self.hide()
|
||||
pass
|
||||
|
||||
|
||||
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.abt.lbl_info.setText(self.abt.lbl_info.text().replace(
|
||||
'{ver}', confloader.getParam('version')))
|
||||
self.show()
|
||||
pass
|
||||
#############################################################
|
||||
####################### 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(os.getcwd())
|
||||
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()
|
||||
|
||||
@@ -109,5 +109,3 @@ class bananaCONF(QObject):
|
||||
jconf = json.loads(conf)
|
||||
self.settingsList[self.inUse]=jconf
|
||||
|
||||
|
||||
|
||||
@@ -10,9 +10,7 @@ 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)
|
||||
|
||||
Reference in New Issue
Block a user