From 72dcb53d23d4f7c8a1921c83686ad6987871e15a Mon Sep 17 00:00:00 2001 From: Mark Hindess Date: Tue, 9 Sep 2014 19:46:38 +0100 Subject: [PATCH] Fix logic so defined msg.payload is not prereq for delete. --- nodes/core/storage/50-file.js | 45 ++++++++++++++++------------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/nodes/core/storage/50-file.js b/nodes/core/storage/50-file.js index 6f341226d..7fce15e90 100644 --- a/nodes/core/storage/50-file.js +++ b/nodes/core/storage/50-file.js @@ -28,34 +28,31 @@ module.exports = function(RED) { var filename = msg.filename || this.filename; if (filename === "") { node.warn('No filename specified'); + } else if (msg.hasOwnProperty('delete')) { + fs.unlink(filename, function (err) { + if (err) { node.warn('Failed to delete file : '+err); } + //console.log('Deleted file",filename); + }); } else if (typeof msg.payload != "undefined") { - if (msg.hasOwnProperty('delete')) { - fs.unlink(filename, function (err) { - if (err) { node.warn('Failed to delete file : '+err); } - //console.log('Deleted file",filename); + var data = msg.payload; + if (typeof data == "object") { + if (!Buffer.isBuffer(data)) { + data = JSON.stringify(data); + } + } + if (typeof data == "boolean") { data = data.toString(); } + if ((this.appendNewline)&&(!Buffer.isBuffer(data))) { data += "\n"; } + if (this.overwriteFile) { + fs.writeFile(filename, data, function (err) { + if (err) { node.warn('Failed to write to file : '+err); } + //console.log('Message written to file',filename); }); } else { - var data = msg.payload; - if (typeof data == "object") { - if (!Buffer.isBuffer(data)) { - data = JSON.stringify(data); - } - } - if (typeof data == "boolean") { data = data.toString(); } - if ((this.appendNewline)&&(!Buffer.isBuffer(data))) { data += "\n"; } - if (this.overwriteFile) { - fs.writeFile(filename, data, function (err) { - if (err) { node.warn('Failed to write to file : '+err); } - //console.log('Message written to file',filename); - }); - } - else { - fs.appendFile(filename, data, function (err) { - if (err) { node.warn('Failed to append to file : '+err); } - //console.log('Message appended to file',filename); - }); - } + fs.appendFile(filename, data, function (err) { + if (err) { node.warn('Failed to append to file : '+err); } + //console.log('Message appended to file',filename); + }); } } });