lettura e settaggio dei parametri in modo ricorsivo funzionante

This commit is contained in:
2019-12-18 21:00:15 +01:00
parent 705a6ce85c
commit b2d3a03da8
3 changed files with 21 additions and 11 deletions

View File

@@ -19,10 +19,13 @@ from libsplit import bananaSPLITTER
class bananaMain(PyQt5.QtWidgets.QMainWindow): class bananaMain(PyQt5.QtWidgets.QMainWindow):
def __init__(self): def __init__(self):
PyQt5.QtWidgets.QMainWindow.__init__(self) PyQt5.QtWidgets.QMainWindow.__init__(self)
self.logger = fancyLogger(fileLog=False) try:
self.conf = bananaCONF(workdir=r"./libbananasplit", logger=self.logger) self.logger = fancyLogger(filepath=r"./libbananasplit/loggerconf.json",fileLog=False)
self.conf.open() self.conf = bananaCONF(workdir=r"./libbananasplit", logger=self.logger)
self.conf.use("testEN.json") self.conf.open()
self.conf.use("testEN.json")
except:
sys.exit()
# inizializzazione interfaccia # inizializzazione interfaccia
self.ui = Ui_mainwin() self.ui = Ui_mainwin()
@@ -76,7 +79,8 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow):
def openSavePreset(self): def openSavePreset(self):
self.logger.debug("Apri Salva Preset") self.logger.debug("Apri Salva Preset")
self.logger.debug(str(self.conf.setParam("pippo",'paths', 'INworkPath'))) self.conf.setParam(val="pippo",keys=('paths','INworkPath',))
self.logger.debug(str(self.conf.getParam('paths')))
pass pass
def openAdvOpt(self): def openAdvOpt(self):

View File

@@ -5,6 +5,7 @@ Created on 2 nov 2019
''' '''
import json,os,glob,copy import json,os,glob,copy
from xml.dom import INUSE_ATTRIBUTE_ERR from xml.dom import INUSE_ATTRIBUTE_ERR
from builtins import True
class bananaCONF(object): class bananaCONF(object):
''' '''
@@ -79,11 +80,16 @@ class bananaCONF(object):
return rv return rv
pass pass
def setParam(self, val, *keys): def setParam(self, keys=(), val=None):
sv = self.settingsList[self.inUse] sv = self.settingsList[self.inUse]
for k in keys: try:
sv = *sv[k] for k in keys[:-1]:
sv = val sv = sv[k]
sv[keys[-1]] = val
return True
except ValueError as ve:
self.log.error("Parametro di configurazione non valido! [{}]".format(ve))
return False
pass pass

View File

@@ -3,11 +3,10 @@ Created on 2 nov 2019
@author: Emanuele Trabattoni @author: Emanuele Trabattoni
''' '''
import sys import sys, os
import json import json
import logging import logging
import colorama import colorama
from bananaSPLIT.main import fp
class fancyLogger(object): class fancyLogger(object):
''' '''
@@ -15,6 +14,7 @@ class fancyLogger(object):
''' '''
def __init__(self, filepath=None, name="Logger", consoleLog=True, fileLog=False): def __init__(self, filepath=None, name="Logger", consoleLog=True, fileLog=False):
try: try:
print(os.getcwd())
with open(filepath, 'r') as fp: with open(filepath, 'r') as fp:
settings = json.load(fp) settings = json.load(fp)
fp.close() fp.close()