diff options
Diffstat (limited to 'lib/utils/images.js')
-rw-r--r-- | lib/utils/images.js | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/utils/images.js b/lib/utils/images.js index f1302c3..59e8885 100644 --- a/lib/utils/images.js +++ b/lib/utils/images.js @@ -2,28 +2,29 @@ var _ = require("lodash"); var Q = require("q"); var fs = require("./fs"); var shellescape = require('shell-escape'); -var exec = require('child_process').exec; +var spawn = require('spawn-cmd').spawn; var links = require("./links"); // 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 command = shellescape(['svgexport', source, dest]); + var child = spawn('svgexport', [source, dest]); - var child = exec(command, function (error, stdout, stderr) { - if (error) { - if (error.code == 127) error = new Error("Need to install 'svgexport' using 'npm install svgexport -g'"); - return d.reject(error); - } - if (fs.existsSync(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)); |