From a2df6afda70f5a9bac1650cc87d9e2ed7512d5f8 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Tue, 15 Oct 2024 11:26:05 +0200 Subject: [PATCH] refs #946 return cfg as json, not the legacy text string --- .../modules/server/ogAdmClient/__init__.py | 2 +- src/opengnsys/workers/oglive_worker.py | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/opengnsys/modules/server/ogAdmClient/__init__.py b/src/opengnsys/modules/server/ogAdmClient/__init__.py index 74d7716..94db8c3 100644 --- a/src/opengnsys/modules/server/ogAdmClient/__init__.py +++ b/src/opengnsys/modules/server/ogAdmClient/__init__.py @@ -318,7 +318,7 @@ class ogAdmClientWorker (ogLiveWorker): 'nfn': 'RESPUESTA_status', 'mac': self.mac, 'ip': self.IPlocal, - 'cfg': cfg, + 'cfg': self.cfg2obj (cfg), 'threads': thr_status, } diff --git a/src/opengnsys/workers/oglive_worker.py b/src/opengnsys/workers/oglive_worker.py index 694eb8e..5c99bd9 100644 --- a/src/opengnsys/workers/oglive_worker.py +++ b/src/opengnsys/workers/oglive_worker.py @@ -273,6 +273,30 @@ class ogLiveWorker(ServerWorker): logger.debug ('parametroscfg ({})'.format (parametroscfg)) return parametroscfg + def cfg2obj (self, cfg): + obj = [] + ptrPar = cfg.split ('\n') + for line in ptrPar: + elem = {} + ptrCfg = line.split ('\t') + + ## Si la 1ª línea solo incluye el número de serie del equipo; actualizar BD. + #if es_la_primera_iteracion and 1 == len (ptrCfg): + # elem['ser'] = ptrCfg[0].split ('=')[1] + # continue ## si hemos entrado en este if, entonces no hacemos todo lo demas de particiones y tal: iteramos el bucle de nuevo + + elem['disk'] = ptrCfg[0].split ('=')[1] ## Número de disco + elem['par'] = ptrCfg[1].split ('=')[1] ## Número de partición + elem['cpt'] = ptrCfg[2].split ('=')[1] or 0 ## Código de partición + elem['sfi'] = ptrCfg[3].split ('=')[1] ## Sistema de ficheros + elem['soi'] = ptrCfg[4].split ('=')[1] ## Nombre del S.O. instalado + elem['tam'] = ptrCfg[5].split ('=')[1] ## Tamaño de la partición + elem['uso'] = ptrCfg[6].split ('=')[1] ## Porcentaje de uso del S.F. + + obj.append (elem) + + return obj + def onActivation (self): if not os.path.exists ('/scripts/oginit'): ## no estamos en oglive, este modulo no debe cargarse