From cef652eef7ee0c7b8f218dd2257e677a263e24ff Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 5 Feb 2014 10:25:48 +0000 Subject: [PATCH] File node: allow filename to be overridden --- nodes/core/storage/50-file.html | 6 ++++-- nodes/core/storage/50-file.js | 38 +++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/nodes/core/storage/50-file.html b/nodes/core/storage/50-file.html index 7a97710e0..f68a8f50f 100644 --- a/nodes/core/storage/50-file.html +++ b/nodes/core/storage/50-file.html @@ -36,7 +36,9 @@ @@ -46,7 +48,7 @@ category: 'storage-output', defaults: { name: {value:""}, - filename: {value:"",required:true}, + filename: {value:""}, appendNewline: {value:true}, overwriteFile: {value:false} }, diff --git a/nodes/core/storage/50-file.js b/nodes/core/storage/50-file.js index 34bd586b9..318fc4435 100644 --- a/nodes/core/storage/50-file.js +++ b/nodes/core/storage/50-file.js @@ -25,22 +25,28 @@ function FileNode(n) { this.overwriteFile = n.overwriteFile; var node = this; this.on("input",function(msg) { - var data = msg.payload; - if (this.appendNewline) { - data += "\n"; - } - if (this.overwriteFile) { - fs.writeFile(this.filename, data, function (err) { - if (err) node.warn('Failed to write to file : '+err); - //console.log('Message written to file',this.filename); - }); - } - else { - fs.appendFile(this.filename, data, function (err) { - if (err) node.warn('Failed to append to file : '+err); - //console.log('Message appended to file',this.filename); - }); - } + var filename = msg.filename || this.filename; + + if (filename == "") { + node.warn('No filename specified'); + } else { + var data = msg.payload; + if (this.appendNewline) { + 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',this.filename); + }); + } + else { + fs.appendFile(filename, data, function (err) { + if (err) node.warn('Failed to append to file : '+err); + //console.log('Message appended to file',this.filename); + }); + } + } }); }