1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

remove extra logging from exec , add sun icon

This commit is contained in:
Dave C-J 2013-10-20 20:37:40 +01:00
parent e775346946
commit c4f30a6111
2 changed files with 46 additions and 47 deletions

View File

@ -20,57 +20,56 @@ var spawn = require('child_process').spawn;
var exec = require('child_process').exec; var exec = require('child_process').exec;
function ExecNode(n) { function ExecNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.cmd = n.command; this.cmd = n.command;
this.append = n.append || ""; this.append = n.append || "";
this.useSpawn = n.useSpawn; this.useSpawn = n.useSpawn;
var node = this; var node = this;
this.on("input", function(msg) { this.on("input", function(msg) {
if (msg != null) { if (msg != null) {
if (this.useSpawn == true) { if (this.useSpawn == true) {
// make the extra args into an array // make the extra args into an array
// then prepend with the msg.payload // then prepend with the msg.payload
var arg = node.append.split(","); var arg = node.append.split(",");
if (msg.payload != " ") { arg.unshift(msg.payload); } if (msg.payload != " ") { arg.unshift(msg.payload); }
//console.log(arg); //console.log(arg);
var ex = spawn(node.cmd,arg); var ex = spawn(node.cmd,arg);
ex.stdout.on('data', function (data) { ex.stdout.on('data', function (data) {
//console.log('[exec] stdout: ' + data); //console.log('[exec] stdout: ' + data);
msg.payload = data; msg.payload = data;
node.send([msg,null,null]); node.send([msg,null,null]);
}); });
ex.stderr.on('data', function (data) { ex.stderr.on('data', function (data) {
//console.log('[exec] stderr: ' + data); //console.log('[exec] stderr: ' + data);
msg.payload = data; msg.payload = data;
node.send([null,msg,null]); node.send([null,msg,null]);
}); });
ex.on('close', function (code) { ex.on('close', function (code) {
//console.log('[exec] result: ' + code); //console.log('[exec] result: ' + code);
msg.payload = code; msg.payload = code;
node.send([null,null,msg]); node.send([null,null,msg]);
}); });
} }
else { else {
var cl = node.cmd+" "+msg.payload+" "+node.append; var cl = node.cmd+" "+msg.payload+" "+node.append;
node.log(cl); var child = exec(cl, function (error, stdout, stderr) {
var child = exec(cl, function (error, stdout, stderr) { msg.payload = stdout;
msg.payload = stdout; var msg2 = {payload:stderr};
var msg2 = {payload:stderr}; //console.log('[exec] stdout: ' + stdout);
//console.log('[exec] stdout: ' + stdout); //console.log('[exec] stderr: ' + stderr);
//console.log('[exec] stderr: ' + stderr); if (error !== null) {
if (error !== null) { var msg3 = {payload:error};
var msg3 = {payload:error}; //console.log('[exec] error: ' + error);
//console.log('[exec] error: ' + error); }
} node.send([msg,msg2,msg3]);
node.send([msg,msg2,msg3]); });
}); }
} }
}
}); });
} }
RED.nodes.registerType("exec",ExecNode); RED.nodes.registerType("exec",ExecNode);

BIN
public/icons/sun.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B