mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Add flash of status to exec node
This commit is contained in:
parent
346ca21803
commit
c10ed13322
@ -15,19 +15,20 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
module.exports = function(RED) {
|
module.exports = function(RED) {
|
||||||
|
"use strict";
|
||||||
var spawn = require('child_process').spawn;
|
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.trim();
|
this.cmd = n.command.trim();
|
||||||
this.append = n.append.trim() || "";
|
this.append = n.append.trim() || "";
|
||||||
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) {
|
||||||
|
node.status({fill:"blue",shape:"dot"});
|
||||||
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
|
||||||
@ -51,12 +52,13 @@ module.exports = function(RED) {
|
|||||||
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.status({});
|
||||||
node.send([null,null,msg]);
|
node.send([null,null,msg]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else { node.error("Spawn command must be just the command - no spaces or extra parameters"); }
|
else { node.error("Spawn command must be just the command - no spaces or extra parameters"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
var cl = node.cmd+" "+msg.payload+" "+node.append;
|
var cl = node.cmd+" "+msg.payload+" "+node.append;
|
||||||
node.log(cl);
|
node.log(cl);
|
||||||
@ -69,13 +71,14 @@ module.exports = function(RED) {
|
|||||||
var msg3 = {payload:error};
|
var msg3 = {payload:error};
|
||||||
//console.log('[exec] error: ' + error);
|
//console.log('[exec] error: ' + error);
|
||||||
}
|
}
|
||||||
|
node.status({});
|
||||||
node.send([msg,msg2,msg3]);
|
node.send([msg,msg2,msg3]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
RED.nodes.registerType("exec",ExecNode);
|
RED.nodes.registerType("exec",ExecNode);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user