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)
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 ('Error al enviar trama ***send() fallo')
return False
@ -346,7 +346,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
logger.debug ('res ({})'.format (res))
## 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')
return False
@ -378,19 +378,19 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
res = self.enviaMensajeServidor ('AutoexecCliente', { 'exe': self.idproautoexec })
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 recibir una petición de comandos o tareas pendientes desde el Servidor de Administración')
return False
## 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')
return False
logger.info (res)
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 recibir un archivo por la red')
return False
@ -407,7 +407,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
def comandosPendientes(self):
while (True):
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 recibir una petición de comandos o tareas pendientes desde el Servidor de Administración')
return False
@ -446,6 +446,33 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
def muestraMenu(self):
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):
"""
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')
self.muestraMenu()
self.procesaComandos()
def process_NoComandosPtes(self, path, get_params, post_params, server):
logger.warn('in process_NoComandosPtes')