change path export sms
This commit is contained in:
parent
bbcb33e531
commit
3d1401662e
|
@ -1,45 +1,50 @@
|
|||
import fs from "node-fs";
|
||||
import convert from "xml-js";
|
||||
import {writeFileInOuputFolderFromJsonObject} from "./utils.mjs";
|
||||
import fs from 'node-fs'
|
||||
import convert from 'xml-js'
|
||||
import { writeFileInOuputFolderFromJsonObject } from './utils.mjs'
|
||||
|
||||
/**********************
|
||||
* initialize configs
|
||||
**********************/
|
||||
|
||||
const sourceFileName = 'sms.xml'
|
||||
const outputFileJson = 'sms-20180423162531.json'
|
||||
const outputFileCsv = 'sms-20180423162531.tsv'
|
||||
const outputFileJsonPathFull = '/home/cipherbliss/Nextcloud/ressources/social sorting/output/' + outputFileJson
|
||||
const sourceFileJson = '/home/cipherbliss/Nextcloud/ressources/social sorting/output/' + outputFileJson
|
||||
const sourceFilePath = '/home/cipherbliss/Nextcloud/ressources/social sorting/' + sourceFileName;
|
||||
const sourceFileBaseName = 'sms-20180423162531'
|
||||
const sourceFileName = `${sourceFileBaseName}.xml`
|
||||
const outputFileJson = `${sourceFileBaseName}.json`
|
||||
const outputFileCsv = `${sourceFileBaseName}.tsv`
|
||||
const folder_base = '/home/tykayn/Nextcloud/ressources/social sorting/'
|
||||
|
||||
const outputFileJsonPathFull = `${folder_base}output/${outputFileJson}`
|
||||
const sourceFileJson = `${folder_base}output/${outputFileJson}`
|
||||
const sourceFilePath = folder_base + sourceFileName
|
||||
|
||||
let headers = []
|
||||
let tasksObjectsForJsonExport = []
|
||||
let headersByKind = {}
|
||||
let writeJsonAfterParse = false;
|
||||
writeJsonAfterParse = true;
|
||||
let writeJsonAfterParse = false
|
||||
writeJsonAfterParse = true
|
||||
|
||||
/**************************************************************
|
||||
* fetch the source file to read its contents
|
||||
*************************************************************/
|
||||
|
||||
console.log('parse some org file', sourceFilePath)
|
||||
// console.log('parse some org file', sourceFilePath)
|
||||
if (!sourceFilePath) {
|
||||
console.error('pas de fichier à ouvrir')
|
||||
}
|
||||
|
||||
function convertToCsv(elementsArray) {
|
||||
function convertToCsv (elementsArray) {
|
||||
elementsArray.forEach(item => {
|
||||
console.log('item._attributes.date_sent', item._attributes.date_sent)
|
||||
console.log('item._attributes.contact_name', item._attributes.date_sent)
|
||||
console.log('item._attributes.body', item._attributes.date_sent)
|
||||
// console.log('item._attributes.date_sent', item._attributes.date_sent)
|
||||
// console.log('item._attributes.contact_name', item._attributes.date_sent)
|
||||
// console.log('item._attributes.body', item._attributes.date_sent)
|
||||
})
|
||||
}
|
||||
|
||||
function convertJsonToCsv(sourceFilePath, outputFileName) {
|
||||
fs.readFile(sourceFilePath, 'utf8', function (err, data) {
|
||||
function convertJsonToCsvAndPersistTSVFile (jsonFilePath, outputFileTSVName) {
|
||||
// console.log('convertJsonToCsvAndWriteItAs', jsonFilePath, outputFileTSVName)
|
||||
|
||||
console.log('data', data)
|
||||
fs.readFile( folder_base+ jsonFilePath, 'utf8', function (err, data) {
|
||||
|
||||
// console.log('data', data)
|
||||
if (data) {
|
||||
|
||||
const events = [
|
||||
|
@ -56,10 +61,10 @@ function convertJsonToCsv(sourceFilePath, outputFileName) {
|
|||
'start\t' +
|
||||
'unique id\t' +
|
||||
'url\t'
|
||||
];
|
||||
]
|
||||
data = JSON.parse(data)
|
||||
console.log('data', data)
|
||||
// console.log('data', Object.keys(data[0]))
|
||||
// console.log('data.length', data.length)
|
||||
// // console.log('data', Object.keys(data[0]))
|
||||
data['smses']['sms'].forEach(item => {
|
||||
|
||||
// convert all fields to common event description
|
||||
|
@ -78,45 +83,45 @@ function convertJsonToCsv(sourceFilePath, outputFileName) {
|
|||
'' + '\t'
|
||||
)
|
||||
})
|
||||
console.log('events', events)
|
||||
writeFileInOuputFolderFromJsonObject(outputFileName, events.join("\n"))
|
||||
// // console.log('events', events)
|
||||
writeFileInOuputFolderFromJsonObject(outputFileTSVName, events.join('\n')).then(res => {
|
||||
// console.log('res', typeof res)
|
||||
})
|
||||
|
||||
} else {
|
||||
console.error('no data in xml file ' + sourceFilePath)
|
||||
console.error('no data in xml file ' + jsonFilePath)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function openSourceFile() {
|
||||
function openSourceFile () {
|
||||
|
||||
fs.stat(sourceFilePath, function (err, data) {
|
||||
if (err == null) {
|
||||
console.log(`File ${sourceFilePath} exists`);
|
||||
// console.log(`File ${sourceFilePath} exists`)
|
||||
|
||||
/**********************
|
||||
* loop to parse all
|
||||
*********************/
|
||||
fs.readFile(sourceFilePath, 'utf8', function (err, data) {
|
||||
// console.log('data', data)
|
||||
var jsonConversion = convert.xml2json(data, {compact: true, spaces: 2});
|
||||
// console.log('smses', Object.keys(jsonConversion))
|
||||
console.log('jsonConversion[0]', jsonConversion['10'])
|
||||
// // console.log('data', data)
|
||||
var jsonConversion = convert.xml2json(data, { compact: true, spaces: 2 })
|
||||
// // console.log('jsonConversion keys', Object.keys(jsonConversion))
|
||||
// console.log('jsonConversion.length', parseFloat(jsonConversion.length / 1024 / 1024, 2), 'Mo')
|
||||
|
||||
writeFileInOuputFolderFromJsonObject(outputFileJsonPathFull, jsonConversion)
|
||||
convertJsonToCsv(sourceFileJson, outputFileCsv)
|
||||
writeFileInOuputFolderFromJsonObject(outputFileJson, jsonConversion)
|
||||
convertJsonToCsvAndPersistTSVFile(outputFileJson, outputFileCsv)
|
||||
|
||||
})
|
||||
|
||||
|
||||
} else if (err.code === 'ENOENT') {
|
||||
// file does not exist
|
||||
console.error(`le fichier ${sourceFilePath} est introuvable. Impossible d en extraire des infos.`, err);
|
||||
console.error(`le fichier ${sourceFilePath} est introuvable. Impossible d en extraire des infos.`, err)
|
||||
|
||||
} else {
|
||||
console.log('Some other error: ', err.code);
|
||||
console.log('Some other error: ', err.code)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
openSourceFile()
|
||||
|
|
17
utils.mjs
17
utils.mjs
|
@ -1,4 +1,4 @@
|
|||
import fs from "node-fs";
|
||||
import fs from 'node-fs'
|
||||
|
||||
export const headersTsv = 'amount\t' +
|
||||
'content\t' +
|
||||
|
@ -13,22 +13,23 @@ export const headersTsv = 'amount\t' +
|
|||
'unique id\t' +
|
||||
'url\t'
|
||||
|
||||
const outputAbsolutePath = '/home/tykayn/Nextcloud/ressources/social sorting/output/';
|
||||
const outputAbsolutePath = '/home/tykayn/Nextcloud/ressources/social sorting/output/'
|
||||
|
||||
export async function writeFileInOuputFolderFromJsonObject(fileName, jsonObjectThing) {
|
||||
export async function writeFileInOuputFolderFromJsonObject (fileName, jsonObjectThing) {
|
||||
|
||||
// console.log('statistics.dates', statistics.dates)
|
||||
let fullpath = `${outputAbsolutePath}${fileName}`
|
||||
|
||||
return await fs.writeFile(
|
||||
`${outputAbsolutePath}${fileName}`,
|
||||
fullpath,
|
||||
JSON.stringify(jsonObjectThing, null, 2),
|
||||
"utf8",
|
||||
'utf8',
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`Error writing file: ${err}`);
|
||||
console.log(`Error writing file: ${err}`)
|
||||
} else {
|
||||
console.log(`File ${fileName} is written successfully!`);
|
||||
console.log(`File ${fileName} is written successfully! \n\n ${fullpath}`)
|
||||
}
|
||||
}
|
||||
);
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue