refs #703 improve error reporting, fix bugs

pull/9/head
Natalia Serrano 2024-09-19 10:21:00 +02:00
parent 5b058a5e33
commit 7defe5cc63
1 changed files with 9 additions and 6 deletions

View File

@ -285,12 +285,16 @@ class ogAdmClientWorker (ServerWorker):
logger.debug ('subprocess.run ("{}", capture_output=True)'.format (proc)) logger.debug ('subprocess.run ("{}", capture_output=True)'.format (proc))
p = subprocess.run (proc, capture_output=True) p = subprocess.run (proc, capture_output=True)
if 0 != p.returncode: if 0 != p.returncode:
raise Exception ('command failed') ## TODO mejorar este mensaje cmd_txt = ' '.join (proc)
logger.error (f'command ({cmd_txt}) failed, stderr follows:')
for l in p.stderr.strip().decode ('utf-8').splitlines():
logger.error (f' {l}')
raise Exception (f'command ({cmd_txt}) failed, see log for details')
return p.stdout.strip().decode ('utf-8') return p.stdout.strip().decode ('utf-8')
def tomaIPlocal (self): def tomaIPlocal (self):
try: try:
self.IPlocal = self.interfaceAdmin ('getIpAddress'); self.IPlocal = self.interfaceAdmin ('getIpAddress')
except Exception as e: except Exception as e:
logger.error (e) logger.error (e)
logger.error ('No se ha podido recuperar la dirección IP del cliente') logger.error ('No se ha podido recuperar la dirección IP del cliente')
@ -471,8 +475,7 @@ class ogAdmClientWorker (ServerWorker):
if (not url): url = self.urlMenu if (not url): url = self.urlMenu
os.system ('pkill -9 browser'); os.system ('pkill -9 browser');
#p = subprocess.Popen (['/opt/opengnsys/bin/browser', '-qws', url]) ## TODO p = subprocess.Popen (['/opt/opengnsys/bin/browser', '-qws', url])
p = subprocess.Popen (['/usr/bin/xeyes'])
try: try:
p.wait (2) ## if the process dies before 2 seconds... p.wait (2) ## if the process dies before 2 seconds...
logger.error ('Error al ejecutar la llamada a la interface de administración') logger.error ('Error al ejecutar la llamada a la interface de administración')
@ -605,7 +608,7 @@ class ogAdmClientWorker (ServerWorker):
self.muestraMensaje (20) self.muestraMensaje (20)
else: else:
if not os.path.exists (sft_src): if not os.path.exists (sft_src):
raise Exception (f'interfaceAdmin({nfn}) returned success but did not create file ({sft_src}) under /tmp') raise Exception (f'interfaceAdmin({nfn}) returned success but did not create file ({sft_src})')
sft_src_contents = Path (sft_src).read_bytes() sft_src_contents = Path (sft_src).read_bytes()
## Envía fichero de inventario al servidor ## Envía fichero de inventario al servidor
@ -681,7 +684,7 @@ class ogAdmClientWorker (ServerWorker):
output = self.interfaceAdmin (nfn, [dsk, par, nci, ipr]) output = self.interfaceAdmin (nfn, [dsk, par, nci, ipr])
self.muestraMensaje (9) self.muestraMensaje (9)
herror = 0 herror = 0
except Exception as e: except:
logger.warning ('Error al ejecutar el comando') logger.warning ('Error al ejecutar el comando')
self.muestraMensaje (10) self.muestraMensaje (10)
herror = 1 herror = 1