From 82269462a4399826427d9b5e12a9a589d1c37eb3 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Tue, 5 Jul 2016 11:31:25 +0100 Subject: [PATCH] Fixed better handling of odd quotes in CSV node (and a better commit message) --- nodes/core/parsers/70-CSV.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nodes/core/parsers/70-CSV.js b/nodes/core/parsers/70-CSV.js index 586e41901..4acc4158e 100644 --- a/nodes/core/parsers/70-CSV.js +++ b/nodes/core/parsers/70-CSV.js @@ -132,7 +132,7 @@ module.exports = function(RED) { if (line[i-1] === node.quo) { k[j] += '\"'; } // if it's a quotequote then it's actually a quote //if ((line[i-1] !== node.sep) && (line[i+1] !== node.sep)) { k[j] += line[i]; } } - else if ((line[i] === node.sep)) { // if it is the end of the line then finish + else if ((line[i] === node.sep) && f) { // if it is the end of the line then finish if (!node.goodtmpl) { node.template[j] = "col"+(j+1); } if ( node.template[j] && (node.template[j] !== "") && (k[j] !== "" ) ) { if ( reg.test(k[j]) ) { k[j] = parseFloat(k[j]); } @@ -140,9 +140,8 @@ module.exports = function(RED) { } j += 1; k[j] = ""; - f = true; // reset in/out flag ready for next line. } - else if (f && ((line[i] === "\n") || (line[i] === "\r"))) { // handle multiple lines + else if ((line[i] === "\n") || (line[i] === "\r")) { // handle multiple lines //console.log(j,k,o,k[j]); if (!node.goodtmpl) { node.template[j] = "col"+(j+1); } if ( node.template[j] && (node.template[j] !== "") && (k[j] !== "") ) { @@ -161,6 +160,7 @@ module.exports = function(RED) { j = 0; k = [""]; o = {}; + f = true; // reset in/out flag ready for next line. } else { // just add to the part of the message k[j] += line[i];