diff --git a/src/opengnsys/modules/server/ogAdmClient/__init__.py b/src/opengnsys/modules/server/ogAdmClient/__init__.py index 27746a5..6de72ca 100644 --- a/src/opengnsys/modules/server/ogAdmClient/__init__.py +++ b/src/opengnsys/modules/server/ogAdmClient/__init__.py @@ -442,6 +442,36 @@ class ogAdmClientWorker (ogLiveWorker): } return self.respuestaEjecucionComando (cmd, herror, ids) + def do_ConsolaRemota (self, post_params): + for k in ['nfn', 'scp']: + if k not in post_params: + logger.error (f'required parameter ({k}) not in POST params') + return {} + + nfn = post_params['nfn'] + scp = unquote (post_params['scp']) + filescript = f'/tmp/_script_{self.IPlocal}' + ecosrc = f'/tmp/_econsola_{self.IPlocal}' + ecodst = f'/tmp/_Seconsola_{self.IPlocal}' ## Nombre que tendra el archivo en el Servidor + + with open (filescript, 'w') as fd: + fd.write (scp) + + try: + self.interfaceAdmin (nfn, [filescript, ecosrc]) + ecosrc_contents = Path (ecosrc).read_bytes() + except: + logger.error ('Error al ejecutar el comando') + return {} + + logger.debug ('sending recibeArchivo to server') + res = self.enviaMensajeServidor ('recibeArchivo', { 'nfl': ecodst, 'contents': base64.b64encode (ecosrc_contents).decode ('utf-8') }) + logger.debug (res) + if not res: + logger.error ('Ha ocurrido algĂșn problema al enviar un archivo por la red') + + return {} + def do_Apagar (self, post_params): for k in ['nfn', 'ids']: if k not in post_params: @@ -525,36 +555,6 @@ class ogAdmClientWorker (ogLiveWorker): logger.debug ('in process_Sondeo, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server)) return {} ## ogAdmClient.c:920 - def do_ConsolaRemota (self, post_params): - for k in ['nfn', 'scp']: - if k not in post_params: - logger.error (f'required parameter ({k}) not in POST params') - return {} - - nfn = post_params['nfn'] - scp = unquote (post_params['scp']) - filescript = f'/tmp/_script_{self.IPlocal}' - ecosrc = f'/tmp/_econsola_{self.IPlocal}' - ecodst = f'/tmp/_Seconsola_{self.IPlocal}' ## Nombre que tendra el archivo en el Servidor - - with open (filescript, 'w') as fd: - fd.write (scp) - - try: - self.interfaceAdmin (nfn, [filescript, ecosrc]) - ecosrc_contents = Path (ecosrc).read_bytes() - except: - logger.error ('Error al ejecutar el comando') - return {} - - logger.debug ('sending recibeArchivo to server') - res = self.enviaMensajeServidor ('recibeArchivo', { 'nfl': ecodst, 'contents': base64.b64encode (ecosrc_contents).decode ('utf-8') }) - logger.debug (res) - if not res: - logger.error ('Ha ocurrido algĂșn problema al enviar un archivo por la red') - - return {} - def process_ConsolaRemota (self, path, get_params, post_params, server): logger.debug ('in process_ConsolaRemota, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server)) return self._long_running_job ('ConsolaRemota', self.do_ConsolaRemota, args=(post_params,))