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