From 07a8a5b4af2d667ea5db790295fb3c54088aa943 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Fri, 13 Sep 2024 11:08:14 +0200 Subject: [PATCH] refs #702 have interfaceAdmin() raise exceptions --- .../modules/server/ogAdmClient/__init__.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/opengnsys/modules/server/ogAdmClient/__init__.py b/src/opengnsys/modules/server/ogAdmClient/__init__.py index 683bece..60eca33 100644 --- a/src/opengnsys/modules/server/ogAdmClient/__init__.py +++ b/src/opengnsys/modules/server/ogAdmClient/__init__.py @@ -203,20 +203,28 @@ class ogAdmClientWorker (ServerWorker): else: proc = ['bash', '-c', '{} {}'.format (devel_bash_prefix, exe)] logger.debug ('subprocess.run ("{}", capture_output=True)'.format (proc)) - return subprocess.run (proc, capture_output=True).stdout.strip().decode ('utf-8') + p = subprocess.run (proc, capture_output=True) + if 0 != p.returncode: + raise Exception ('command failed') ## TODO mejorar este mensaje + return p.stdout.strip().decode ('utf-8') def tomaIPlocal (self): try: self.IPlocal = self.interfaceAdmin ('getIpAddress'); - logger.info ('local IP is "{}"'.format (self.IPlocal)) except Exception as e: logger.error (e) logger.error ('No se ha podido recuperar la dirección IP del cliente') return False + logger.info ('local IP is "{}"'.format (self.IPlocal)) return True - def LeeConfiguracion(self): - parametroscfg = self.interfaceAdmin ('getConfiguration') ## Configuración de los Sistemas Operativos del cliente + def LeeConfiguracion (self): + try: + parametroscfg = self.interfaceAdmin ('getConfiguration') ## Configuración de los Sistemas Operativos del cliente + except Exception as e: + logger.error (e) + logger.error ('No se ha podido recuperar la dirección IP del cliente') + return None logger.debug ('parametroscfg ({})'.format (parametroscfg)) return parametroscfg @@ -291,6 +299,9 @@ class ogAdmClientWorker (ServerWorker): def inclusionCliente (self): cfg = self.LeeConfiguracion() + if not cfg: + logger.error ('LeeConfiguracion() failed') + return False res = self.enviaMensajeServidor ('InclusionCliente', { 'cfg': cfg }) logger.debug ('res ({})'.format (res))