refs #526 implement procesaComandos()

versions
Natalia Serrano 2024-07-26 14:38:19 +02:00
parent 1d0057fd38
commit 94eaba7688
1 changed files with 34 additions and 6 deletions

View File

@ -281,7 +281,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
res = self.REST.sendMessage (path, obj) res = self.REST.sendMessage (path, obj)
if (not res): ## TODO if (type(res) is not dict):
#logger.error ('No se ha podido establecer conexión con el Servidor de Administración') ## Error de conexión con el servidor #logger.error ('No se ha podido establecer conexión con el Servidor de Administración') ## Error de conexión con el servidor
logger.error ('Error al enviar trama ***send() fallo') logger.error ('Error al enviar trama ***send() fallo')
return False return False
@ -346,7 +346,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
logger.debug ('res ({})'.format (res)) logger.debug ('res ({})'.format (res))
## RESPUESTA_InclusionCliente ## RESPUESTA_InclusionCliente
if (not res or 0 == res['res']) : if (type(res) is not dict or 0 == res['res']) :
logger.error ('Ha ocurrido algún problema en el proceso de inclusión del cliente') logger.error ('Ha ocurrido algún problema en el proceso de inclusión del cliente')
return False return False
@ -378,19 +378,19 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
res = self.enviaMensajeServidor ('AutoexecCliente', { 'exe': self.idproautoexec }) res = self.enviaMensajeServidor ('AutoexecCliente', { 'exe': self.idproautoexec })
logger.debug ('res ({})'.format (res)) logger.debug ('res ({})'.format (res))
if (not res): if (type(res) is not dict):
logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración') logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración')
logger.error ('Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración') logger.error ('Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración')
return False return False
## RESPUESTA_AutoexecCliente ## RESPUESTA_AutoexecCliente
if (not res or 0 == res['res']) : if (type(res) is not dict or 0 == res['res']) :
logger.error ('Ha ocurrido algún problema al procesar la trama recibida') logger.error ('Ha ocurrido algún problema al procesar la trama recibida')
return False return False
logger.info (res) logger.info (res)
res = self.enviaMensajeServidor ('enviaArchivo', { 'nfl': res['nfl'] }) res = self.enviaMensajeServidor ('enviaArchivo', { 'nfl': res['nfl'] })
if (not res): if (type(res) is not dict):
logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración') logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración')
logger.error ('Ha ocurrido algún problema al recibir un archivo por la red') logger.error ('Ha ocurrido algún problema al recibir un archivo por la red')
return False return False
@ -407,7 +407,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
def comandosPendientes(self): def comandosPendientes(self):
while (True): while (True):
res = self.enviaMensajeServidor ('ComandosPendientes') ## recibe un solo comando res = self.enviaMensajeServidor ('ComandosPendientes') ## recibe un solo comando
if (not res): if (type(res) is not dict):
logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración') logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración')
logger.error ('Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración') logger.error ('Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración')
return False return False
@ -446,6 +446,33 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
def muestraMenu(self): def muestraMenu(self):
self.cargaPaginaWeb() self.cargaPaginaWeb()
def procesaComandos(self):
res = self.enviaMensajeServidor ('DisponibilidadComandos', { 'tpc': 'OPG' }) ## Activar disponibilidad
logger.debug ('res ({})'.format (res))
if (type(res) is not dict):
logger.error ('Ha ocurrido algún problema al enviar una petición de comandos interactivos al Servidor de Administración')
return False
logger.info ('Disponibilidad de comandos activada') ## Disponibilidad de cliente activada
## y hacemos return true y el agente es quien espera peticiones
## TODO el tema es, ogAdmClient hace comandosPendientes() cada vez, ¿cómo lo metemos aquí?
#
#ptrTrama=recibeMensaje(&socket_c);
#if(!ptrTrama){
# errorLog(modulo,46,FALSE); 'Ha ocurrido algún problema al recibir un comando interactivo desde el Servidor de Administración'
# return;
#}
#close(socket_c);
#if(!gestionaTrama(ptrTrama)){ // Análisis de la trama
# errorLog(modulo,39,FALSE); 'Ha ocurrido algún problema al procesar la trama recibida'
# return;
#}
#if(!comandosPendientes(ptrTrama)){
# errorLog(modulo,42,FALSE); 'Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración'
#}
def onActivation(self): def onActivation(self):
""" """
Sends OGAgent activation notification to OpenGnsys server Sends OGAgent activation notification to OpenGnsys server
@ -530,6 +557,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
logger.info ('Acciones pendientes procesadas') logger.info ('Acciones pendientes procesadas')
self.muestraMenu() self.muestraMenu()
self.procesaComandos()
def process_NoComandosPtes(self, path, get_params, post_params, server): def process_NoComandosPtes(self, path, get_params, post_params, server):
logger.warn('in process_NoComandosPtes') logger.warn('in process_NoComandosPtes')