ag-gipp/GoUldI

View on GitHub
helper/transform.js

Summary

Maintainability
A
0 mins
Test Coverage
var BB = require('bluebird');
var fs = BB.promisifyAll(require("fs"));
var rp = require('request-promise');
var directory = '../data';
var parseAsync = BB.method(JSON.parse);
var xml2js = BB.promisifyAll(require('xml2js'));
fs.readdirAsync(directory).map(function (filename) {
    return fs.readFileAsync(directory + "/" + filename, "utf8")
        .then(function (content) {
        return parseAsync(content)
        })
        .then(function (json) {
            if (json.math_inputtex_semantic &&  ! json.math_inputtex) {
                return rp
                    .get(json.uri.replace('#','.')+'.tex')
                    .then(function(res){
                        json.math_inputtex = res;
                        return fs.writeFileAsync(directory + '/' + filename, JSON.stringify(json, null, 2));
                    })
                    .catch(function(err){
                        json.math_inputtex = '';
                        console.log("Problem in file" + filename);
                        return fs.writeFileAsync(directory + '/' + filename, JSON.stringify(json, null, 2));
                        //console.dir(err);
                    });
            }
            });
});