summaryrefslogtreecommitdiffstats
path: root/lib/utils/images.js
blob: a82b0a15375351e685adc99315899984298e153d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var _ = require("lodash");
var Q = require("q");
var fs = require("./fs");
var spawn = require("spawn-cmd").spawn;

// Convert a svg file
var convertSVG = function(source, dest, options) {
    if (!fs.existsSync(source)) return Q.reject(new Error("File doesn't exist: "+source));
    var d = Q.defer();

    options = _.defaults(options || {}, {

    });

    //var command = shellescape(["svgexport", source, dest]);
    var child = spawn("svgexport", [source, dest]);

    child.on("error", function(error) {
        if (error.code == "ENOENT") error = new Error("Need to install \"svgexport\" using \"npm install svgexport -g\"");
        return d.reject(error);
    });

    child.on("close", function(code) {
        if (code === 0 && fs.existsSync(dest)) {
            d.resolve();
        } else {
            d.reject(new Error("Error converting "+source+" into "+dest));
        }
    });

    return d.promise;
};

module.exports = {
    convertSVG: convertSVG,
    INVALID: [".svg"]
};