j'avais écrit ça à l'époque pour transformer tout les sms/skype/commandes ssh & locales/sessions/commits/historique firefox/mails/logs et autres en emploi du temps réel pour les prudhommes lol
(j'avais galéré sévère 100ans pour extraire les data du dump trouvable dans le navigateur, c'était un fichier "leveldb" modifié, j'ai un fichier c qui le traite, mais bref j'ai trouvé ça a coté donc visiblement j'avais du réussir à exporter un dump lisible via le site)
export skype json vers texte
const fs = require('fs');
const _ = require('lodash');
const moment = require("moment");
moment.locale('fr');
const he = require('he');
const historyFile = './history.skype/export.json';
const outEventFile = './history.skype/skype.txt';
const skypeHistory = require( historyFile );
const history = [];
for ( const message of skypeHistory.messagesv12 ) {
/*
if( message.creator !== '8:live:machin'
&& message.creator !== '8:trucmuche'
) continue;
*/
const time = moment( message.createdTime, 'x');
if( !time.isValid() ) continue;
let from = message.creator.substring(2);
if( from === ':concierge' ) continue;
let to = message.conversationId.substring(2);
if( to === from ) to = 'ton nom';
if( from === 'live:ton.pseudo' )
from = 'ton nom';
else {
if( from === 'pseudo machin' )
from = 'son nom';
}
if( to === 'pseudo machin' )
to = 'son nom';
const msg = {
t:parseInt(message.createdTime,10),
time:time.locale('fr').format('lll'),
to:to,
from:from,
text:he.decode( message.content )
};
//history[ parseInt(message.createdTime,10) ] = msg;
history.push( msg );
//console.log( msg );
}
let out = [];
history.sort((a, b) => a.t - b.t);
/*history.forEach( msg => {
console.log( msg );
out.push( msg.time, msg.from, '>', msg.to, '\n', msg.text );
} )*/
for ( const msg of history ){
// console.log( msg );
out.push( [ msg.time, msg.from, '>', msg.to + '\n' + msg.text ].join(' ') );
}
//console.log( history );
fs.writeFile( outEventFile, out.join("\n\n"), () => { } );