corretto un typo stupidissimo che mi ha fatto perdere un sacco di tempo
This commit is contained in:
83
bananaSPLIT/libbananasplit/libconfload.py
Normal file
83
bananaSPLIT/libbananasplit/libconfload.py
Normal file
@@ -0,0 +1,83 @@
|
||||
'''
|
||||
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(self.workdir+"\\*.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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user