From adb0be24a6370233319ba51e98d3fe759d5c5990 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Wed, 23 Apr 2025 19:29:07 +0200 Subject: [PATCH] Prueba de cambios --- libs/utils.js | 58 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/libs/utils.js b/libs/utils.js index 42fd854..b98726b 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -1,4 +1,10 @@ import fs from 'node:fs'; +import path from 'node:path'; + +// Aseguramos que el directorio de logs exista en cualquier sistema operativo +if (!fs.existsSync('logs')) { + fs.mkdirSync('logs', { recursive: true }); +} /** * Convierte una línea de datos en un objeto @@ -52,13 +58,18 @@ async function sleep(ms) { const fechaHoraActual = new Date(); async function saveDataInFile(data) { - fs.writeFile(`logs/${fechaHoraActual.toISOString().replace(/:/g, '-')}.json`, JSON.stringify(data) + ',\n', { flag: 'a' }, err => { - if (err) { - console.error(err); - } else { - //console.log('Datos guardados correctamente'); + fs.writeFile( + path.join('logs', `${fechaHoraActual.toISOString().replace(/:/g, '-')}.json`), + JSON.stringify(data) + ',\n', + { flag: 'a' }, + err => { + if (err) { + console.error(err); + } else { + //console.log('Datos guardados correctamente'); + } } - }); + ); saveDataInGeoJSONFile(data); } @@ -98,25 +109,34 @@ async function saveDataInGeoJSONFile(data) { geoJSONData.features[0].geometry.coordinates.push([data.longitud, data.latitud]); - fs.writeFile(`logs/${fechaHoraActual.toISOString().replace(/:/g, '-')}.geojson`, JSON.stringify(geoJSONData), { flag: 'w+' }, err => { - if (err) { - console.error(err); - } else { - // file written successfully + fs.writeFile( + path.join('logs', `${fechaHoraActual.toISOString().replace(/:/g, '-')}.geojson`), + JSON.stringify(geoJSONData), + { flag: 'w+' }, + err => { + if (err) { + console.error(err); + } else { + // file written successfully + } } - }); + ); } saveDataInCSVFile("Nº Paquete; Temperatura; Presión; Altitud según presión; Latitud; Longitud; Altitud (m); Velocidad (Km/h); Dirección/Norte; Número de Satelites; Fecha/Hora GPS; Fecha/Hora del Sistema"); async function saveDataInCSVFile(data) { - fs.writeFile(`logs/${fechaHoraActual.toISOString().replace(/:/g, '-')}.csv`, data + '\n', { flag: 'a' }, err => { - if (err) { - console.error(err); - } else { - //console.log('Datos guardados correctamente'); + fs.writeFile( + path.join('logs', `${fechaHoraActual.toISOString().replace(/:/g, '-')}.csv`), + data + '\n', + { flag: 'a' }, + err => { + if (err) { + console.error(err); + } else { + //console.log('Datos guardados correctamente'); + } } - }); - + ); } // Exportamos las funciones para poder usarlas en otras partes del programa