123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // librairie de gestion des répertoires et fichiers
- const fs = require("fs");
- const path = require("path");
- // librairie de gestion des arguments de la ligne de commande
- var argv = require("optimist").argv;
- // librairie de traitement du pinyin
- const pinyinizer = require('pinyinizer');
- // librairie de gestion du hanzi
- const opencc = require('node-opencc');
- // données de stockage
- var fichierJson = "shtooka-table.json";
- // en entrée, on donne le nom du fichier à traiter sans le répertoire
- var repertoireInitial = "./";
- var argument = argv._[0];
- fichierDonnées = path.join(repertoireInitial,argument);
- // DEBUG
- console.log("fichier données en entrée: ",fichierDonnées);
- // utilitaires
- var tab = "\t";
- var endLine = "\n";
- // Variable fichier du fichier json en sortie
- fichierJson = path.join(repertoireInitial, argument + ".json");
- // DEBUG
- console.log("fichier données en sortie: ",fichierJson);
- var donnéesbrutes = fs.readFileSync(fichierDonnées);
- var données = JSON.parse(donnéesbrutes);
- // DEBUG
- //console.log("Locuteur", données.index.group._attributes.swac_speak_name);
- var locuteur = données.index.group._attributes.swac_speak_name;
- //DEBUG
- console.log("locuteur: ", locuteur);
- var enregistrements = données.index.group.file;
- // DEBUG
- //console.log(enregistrements);
- l = {
- "hanzi": "",
- "pinyin": "",
- "sound" : "",
- "locuteur": ""
- };
- // création du nouveau fichier json
- var json = fs.createWriteStream(fichierJson);
- json.write('{"shtooka":[');
- enregistrements.forEach(function(enregistrement) {
- try {
- // console.log(enregistrement._attributes.path, "**", enregistrement.tag._attributes.swac_text);
- l.hanzi = enregistrement.tag._attributes.swac_text;
- l.pinyin = enregistrement.tag._attributes.swac_pron_phon;
- l.sound = enregistrement._attributes.path;
- l.locuteur = locuteur;
- json.write(JSON.stringify(l) + ",");
- // DEBUG
- // console.log(l);
- } catch (err) {
- console.log(err);
- }
- });
- // écriture fin de fichier, et fermeture fichier json
- json.write('{},]}');
- json.end();
|