Last active
February 17, 2016 18:41
-
-
Save jskrzypek/830d606fd8efc9618e08 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# In the graph we first need to define the nodes and the connections between them | |
Group(core/Group) OUT -> IN FilesystemConnection(server/FilesystemConnection) | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource(server/CsvSource) | |
CsvSource() OUT -> IN Display(core/Output) | |
Group2(core/Group) OUT -> IN FilesystemConnection2(server/FilesystemConnection) | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2(server/CsvSource) | |
CsvSource2() OUT -> IN Display2(core/Output) | |
# Start off the graph by sending a filename to the file reader | |
'NUCLEAR' -> GROUP Group() | |
'NODAL' -> GROUP Group2() | |
'samples/tables/nuclear.csv' -> IN Group() | |
'samples/tables/nodal.csv' -> IN Group2() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
var noflo = require('noflo'); | |
var _ = require('lodash'); | |
var csv = require('fast-csv'); | |
exports.getComponent = function() { | |
var c = new noflo.Component(); | |
c.description = 'Readfile using wire pattern'; | |
c.inPorts.add('connection', { | |
datatype: 'object', | |
description: 'Source file connection' | |
}); | |
c.outPorts.add('out', { | |
datatype: 'object' | |
}); | |
c.outPorts.add('error', { | |
datatype: 'object' | |
}); | |
var readCsv = function(stream, onData, onEnd) { | |
return csv.fromStream(stream, { | |
headers: true, | |
delimiter: ',', | |
ignoreEmpty: true, | |
trim: true | |
}) | |
.on('data', onData) | |
.on('end', onEnd); | |
}; | |
noflo.helpers.WirePattern(c, { | |
'in': ['connection'], | |
out: 'out', | |
async: false, | |
error: 'error', | |
forwardGroups: false | |
}, function(connection, groups, out) { | |
_.each(groups, function(group) { | |
out.beginGroup(group); | |
}); | |
readCsv(connection, function onData(row) { | |
out.send(row); | |
}, function onEnd(row) { | |
_.each(groups, function(group) { | |
out.endGroup(group); | |
}); | |
}); | |
}); | |
return c; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DATA -> ENCODING FilesystemConnection() CONN | |
DATA -> ENCODING FilesystemConnection() DATA | |
DATA -> ENCODING FilesystemConnection() DISC | |
DATA -> ENCODING FilesystemConnection2() CONN | |
DATA -> ENCODING FilesystemConnection2() DATA | |
DATA -> ENCODING FilesystemConnection2() DISC | |
DATA -> GROUP Group() CONN | |
DATA -> GROUP Group() DATA | |
DATA -> GROUP Group() DISC | |
DATA -> GROUP Group2() CONN | |
DATA -> GROUP Group2() DATA | |
DATA -> GROUP Group2() DISC | |
DATA -> IN Group() CONN | |
Group() OUT -> IN FilesystemConnection() CONN | |
Group() OUT -> IN FilesystemConnection() < NUCLEAR | |
DATA -> IN Group() DATA | |
Group() OUT -> IN FilesystemConnection() DATA | |
DATA -> IN Group() DISC | |
Group() OUT -> IN FilesystemConnection() > NUCLEAR | |
Group() OUT -> IN FilesystemConnection() DISC | |
DATA -> IN Group2() CONN | |
Group2() OUT -> IN FilesystemConnection2() CONN | |
Group2() OUT -> IN FilesystemConnection2() < NODAL | |
DATA -> IN Group2() DATA | |
Group2() OUT -> IN FilesystemConnection2() DATA | |
DATA -> IN Group2() DISC | |
Group2() OUT -> IN FilesystemConnection2() > NODAL | |
Group2() OUT -> IN FilesystemConnection2() DISC | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() CONN | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() < NUCLEAR | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() < samples/tables/nuclear.csv | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() DATA | |
CsvSource() OUT -> IN Display() CONN | |
CsvSource() OUT -> IN Display() < NUCLEAR | |
CsvSource() OUT -> IN Display() < samples/tables/nuclear.csv | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() > samples/tables/nuclear.csv | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() > NUCLEAR | |
FilesystemConnection() CONNECTION -> CONNECTION CsvSource() DISC | |
CsvSource() OUT -> IN Display() DISC | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() CONN | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() < NODAL | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() < samples/tables/nodal.csv | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() DATA | |
CsvSource2() OUT -> IN Display2() CONN | |
CsvSource2() OUT -> IN Display2() < NODAL | |
CsvSource2() OUT -> IN Display2() < samples/tables/nodal.csv | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() > samples/tables/nodal.csv | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() > NODAL | |
FilesystemConnection2() CONNECTION -> CONNECTION CsvSource2() DISC | |
CsvSource2() OUT -> IN Display2() DISC | |
CsvSource() OUT -> IN Display() CONN | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '1', | |
cost: '460.05', | |
date: '68.58', | |
t1: '14', | |
t2: '46', | |
cap: '687', | |
pr: '0', | |
ne: '1', | |
ct: '0', | |
bw: '0', | |
'cum.n': '14', | |
pt: '0' } | |
CsvSource2() OUT -> IN Display2() CONN | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '1', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '2', | |
cost: '452.99', | |
date: '67.33', | |
t1: '10', | |
t2: '73', | |
cap: '1065', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '1', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '3', | |
cost: '443.22', | |
date: '67.33', | |
t1: '10', | |
t2: '85', | |
cap: '1065', | |
pr: '1', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '1', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '4', | |
cost: '652.32', | |
date: '68', | |
t1: '11', | |
t2: '67', | |
cap: '1065', | |
pr: '0', | |
ne: '1', | |
ct: '1', | |
bw: '0', | |
'cum.n': '12', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '5', | |
cost: '642.23', | |
date: '68', | |
t1: '11', | |
t2: '78', | |
cap: '1065', | |
pr: '1', | |
ne: '1', | |
ct: '1', | |
bw: '0', | |
'cum.n': '12', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '6', | |
cost: '345.39', | |
date: '67.92', | |
t1: '13', | |
t2: '51', | |
cap: '514', | |
pr: '0', | |
ne: '1', | |
ct: '1', | |
bw: '0', | |
'cum.n': '3', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '7', | |
cost: '272.37', | |
date: '68.17', | |
t1: '12', | |
t2: '50', | |
cap: '822', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '5', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '8', | |
cost: '317.21', | |
date: '68.42', | |
t1: '14', | |
t2: '59', | |
cap: '457', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '1', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '9', | |
cost: '457.12', | |
date: '68.42', | |
t1: '15', | |
t2: '55', | |
cap: '822', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '5', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '10', | |
cost: '690.19', | |
date: '68.33', | |
t1: '12', | |
t2: '71', | |
cap: '792', | |
pr: '0', | |
ne: '1', | |
ct: '1', | |
bw: '1', | |
'cum.n': '2', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '11', | |
cost: '350.63', | |
date: '68.58', | |
t1: '12', | |
t2: '64', | |
cap: '560', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '3', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '12', | |
cost: '402.59', | |
date: '68.75', | |
t1: '13', | |
t2: '47', | |
cap: '790', | |
pr: '0', | |
ne: '1', | |
ct: '0', | |
bw: '0', | |
'cum.n': '6', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '13', | |
cost: '412.18', | |
date: '68.42', | |
t1: '15', | |
t2: '62', | |
cap: '530', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '2', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '14', | |
cost: '495.58', | |
date: '68.92', | |
t1: '17', | |
t2: '52', | |
cap: '1050', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '7', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '15', | |
cost: '394.36', | |
date: '68.92', | |
t1: '13', | |
t2: '65', | |
cap: '850', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '1', | |
'cum.n': '16', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '16', | |
cost: '423.32', | |
date: '68.42', | |
t1: '11', | |
t2: '67', | |
cap: '778', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '3', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '17', | |
cost: '712.27', | |
date: '69.5', | |
t1: '18', | |
t2: '60', | |
cap: '845', | |
pr: '0', | |
ne: '1', | |
ct: '0', | |
bw: '0', | |
'cum.n': '17', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '18', | |
cost: '289.66', | |
date: '68.42', | |
t1: '15', | |
t2: '76', | |
cap: '530', | |
pr: '1', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '2', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '19', | |
cost: '881.24', | |
date: '69.17', | |
t1: '15', | |
t2: '67', | |
cap: '1090', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '1', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '20', | |
cost: '490.88', | |
date: '68.92', | |
t1: '16', | |
t2: '59', | |
cap: '1050', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '8', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '21', | |
cost: '567.79', | |
date: '68.75', | |
t1: '11', | |
t2: '70', | |
cap: '913', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '1', | |
'cum.n': '15', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '22', | |
cost: '665.99', | |
date: '70.92', | |
t1: '22', | |
t2: '57', | |
cap: '828', | |
pr: '1', | |
ne: '1', | |
ct: '0', | |
bw: '0', | |
'cum.n': '20', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '23', | |
cost: '621.45', | |
date: '69.67', | |
t1: '16', | |
t2: '59', | |
cap: '786', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '18', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '24', | |
cost: '608.8', | |
date: '70.08', | |
t1: '19', | |
t2: '58', | |
cap: '821', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '3', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '25', | |
cost: '473.64', | |
date: '70.42', | |
t1: '19', | |
t2: '44', | |
cap: '538', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '19', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '26', | |
cost: '697.14', | |
date: '71.08', | |
t1: '20', | |
t2: '57', | |
cap: '1130', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '21', | |
pt: '0' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '27', | |
cost: '207.51', | |
date: '67.25', | |
t1: '13', | |
t2: '63', | |
cap: '745', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '8', | |
pt: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '28', | |
cost: '288.48', | |
date: '67.17', | |
t1: '9', | |
t2: '48', | |
cap: '821', | |
pr: '0', | |
ne: '0', | |
ct: '1', | |
bw: '0', | |
'cum.n': '7', | |
pt: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '29', | |
cost: '284.88', | |
date: '67.83', | |
t1: '12', | |
t2: '63', | |
cap: '886', | |
pr: '0', | |
ne: '0', | |
ct: '0', | |
bw: '1', | |
'cum.n': '11', | |
pt: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '30', | |
cost: '280.36', | |
date: '67.83', | |
t1: '12', | |
t2: '71', | |
cap: '886', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '1', | |
'cum.n': '11', | |
pt: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '31', | |
cost: '217.38', | |
date: '67.25', | |
t1: '13', | |
t2: '72', | |
cap: '745', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '0', | |
'cum.n': '8', | |
pt: '1' } | |
CsvSource() OUT -> IN Display() DATA | |
{ '': '32', | |
cost: '270.71', | |
date: '67.83', | |
t1: '7', | |
t2: '80', | |
cap: '886', | |
pr: '1', | |
ne: '0', | |
ct: '0', | |
bw: '1', | |
'cum.n': '11', | |
pt: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '2', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '3', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '4', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '5', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '6', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '7', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '8', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '9', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '10', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '11', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '12', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '13', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '14', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '15', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '16', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '17', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '18', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '19', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '20', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '21', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '22', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '23', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '24', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '25', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '26', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '27', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '28', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '29', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '30', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '31', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '32', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '33', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '34', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '35', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '36', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '37', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '1', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '38', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '1', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '39', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '40', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '1', | |
grade: '0', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '41', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '0', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '42', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '43', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '44', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '1', | |
grade: '0', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '45', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '0', | |
grade: '1', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '46', | |
m: '1', | |
r: '1', | |
aged: '1', | |
stage: '0', | |
grade: '0', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '47', | |
m: '1', | |
r: '0', | |
aged: '1', | |
stage: '0', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '48', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '1', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '49', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '1', | |
grade: '1', | |
xray: '0', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '50', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '1', | |
grade: '0', | |
xray: '1', | |
acid: '0' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '51', | |
m: '1', | |
r: '1', | |
aged: '0', | |
stage: '0', | |
grade: '1', | |
xray: '0', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '52', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '1', | |
acid: '1' } | |
CsvSource2() OUT -> IN Display2() DATA | |
{ '': '53', | |
m: '1', | |
r: '0', | |
aged: '0', | |
stage: '0', | |
grade: '0', | |
xray: '1', | |
acid: '0' } | |
CsvSource() OUT -> IN Display() > samples/tables/nuclear.csv | |
CsvSource() OUT -> IN Display() > NUCLEAR | |
CsvSource2() OUT -> IN Display2() > samples/tables/nodal.csv | |
CsvSource2() OUT -> IN Display2() > NODAL |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
var noflo = require('noflo'); | |
var fs = require('fs'); | |
var DEFAULT_ENCODING = 'utf-8'; | |
exports.getComponent = function() { | |
var c = new noflo.Component(); | |
c.state = { | |
encoding: DEFAULT_ENCODING | |
}; | |
c.description = 'Readfile using wire pattern'; | |
c.inPorts.add('in', { | |
datatype: 'string', | |
description: 'Source file path' | |
}); | |
c.inPorts.add('encoding', { | |
datatype: 'string', | |
description: 'File encoding', | |
default: DEFAULT_ENCODING | |
}); | |
c.outPorts.add('connection', { | |
datatype: 'object' | |
}); | |
c.outPorts.add('error', { | |
datatype: 'object' | |
}); | |
// TODO: issue with defaulted (non required) params in wirepattern not being available in the process function | |
c.inPorts.encoding.on('data', function(value) { | |
c.state.encoding = value; | |
}); | |
noflo.helpers.WirePattern(c, { | |
'in': ['in'], | |
out: 'connection', | |
error: 'error', | |
async: true, | |
forwardGroups: true | |
}, function(path, groups, out, callback) { | |
var connection = fs.createReadStream(path, c.state); | |
connection.once('error', function (err) { | |
c.fail(err, [path]); | |
}); | |
connection.on('open', function () { | |
out.beginGroup(path); | |
out.send(connection); | |
out.endGroup(); | |
callback(); | |
}); | |
}); | |
return c; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
m | r | aged | stage | grade | xray | acid | ||
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
2 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
3 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
4 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
5 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
6 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
7 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
10 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
11 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
13 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |
14 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |
15 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |
16 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |
17 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | |
18 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | |
19 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | |
20 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | |
21 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
22 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
23 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
25 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | |
26 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | |
27 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | |
28 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | |
29 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | |
30 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | |
31 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | |
32 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | |
33 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | |
34 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
35 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
36 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
37 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | |
38 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | |
39 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |
40 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | |
41 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | |
42 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | |
43 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
44 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | |
45 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | |
46 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | |
47 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | |
48 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | |
49 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | |
50 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | |
51 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | |
52 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
53 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cost | date | t1 | t2 | cap | pr | ne | ct | bw | cum.n | pt | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 460.05 | 68.58 | 14 | 46 | 687 | 0 | 1 | 0 | 0 | 14 | 0 | |
2 | 452.99 | 67.33 | 10 | 73 | 1065 | 0 | 0 | 1 | 0 | 1 | 0 | |
3 | 443.22 | 67.33 | 10 | 85 | 1065 | 1 | 0 | 1 | 0 | 1 | 0 | |
4 | 652.32 | 68 | 11 | 67 | 1065 | 0 | 1 | 1 | 0 | 12 | 0 | |
5 | 642.23 | 68 | 11 | 78 | 1065 | 1 | 1 | 1 | 0 | 12 | 0 | |
6 | 345.39 | 67.92 | 13 | 51 | 514 | 0 | 1 | 1 | 0 | 3 | 0 | |
7 | 272.37 | 68.17 | 12 | 50 | 822 | 0 | 0 | 0 | 0 | 5 | 0 | |
8 | 317.21 | 68.42 | 14 | 59 | 457 | 0 | 0 | 0 | 0 | 1 | 0 | |
9 | 457.12 | 68.42 | 15 | 55 | 822 | 1 | 0 | 0 | 0 | 5 | 0 | |
10 | 690.19 | 68.33 | 12 | 71 | 792 | 0 | 1 | 1 | 1 | 2 | 0 | |
11 | 350.63 | 68.58 | 12 | 64 | 560 | 0 | 0 | 0 | 0 | 3 | 0 | |
12 | 402.59 | 68.75 | 13 | 47 | 790 | 0 | 1 | 0 | 0 | 6 | 0 | |
13 | 412.18 | 68.42 | 15 | 62 | 530 | 0 | 0 | 1 | 0 | 2 | 0 | |
14 | 495.58 | 68.92 | 17 | 52 | 1050 | 0 | 0 | 0 | 0 | 7 | 0 | |
15 | 394.36 | 68.92 | 13 | 65 | 850 | 0 | 0 | 0 | 1 | 16 | 0 | |
16 | 423.32 | 68.42 | 11 | 67 | 778 | 0 | 0 | 0 | 0 | 3 | 0 | |
17 | 712.27 | 69.5 | 18 | 60 | 845 | 0 | 1 | 0 | 0 | 17 | 0 | |
18 | 289.66 | 68.42 | 15 | 76 | 530 | 1 | 0 | 1 | 0 | 2 | 0 | |
19 | 881.24 | 69.17 | 15 | 67 | 1090 | 0 | 0 | 0 | 0 | 1 | 0 | |
20 | 490.88 | 68.92 | 16 | 59 | 1050 | 1 | 0 | 0 | 0 | 8 | 0 | |
21 | 567.79 | 68.75 | 11 | 70 | 913 | 0 | 0 | 1 | 1 | 15 | 0 | |
22 | 665.99 | 70.92 | 22 | 57 | 828 | 1 | 1 | 0 | 0 | 20 | 0 | |
23 | 621.45 | 69.67 | 16 | 59 | 786 | 0 | 0 | 1 | 0 | 18 | 0 | |
24 | 608.8 | 70.08 | 19 | 58 | 821 | 1 | 0 | 0 | 0 | 3 | 0 | |
25 | 473.64 | 70.42 | 19 | 44 | 538 | 0 | 0 | 1 | 0 | 19 | 0 | |
26 | 697.14 | 71.08 | 20 | 57 | 1130 | 0 | 0 | 1 | 0 | 21 | 0 | |
27 | 207.51 | 67.25 | 13 | 63 | 745 | 0 | 0 | 0 | 0 | 8 | 1 | |
28 | 288.48 | 67.17 | 9 | 48 | 821 | 0 | 0 | 1 | 0 | 7 | 1 | |
29 | 284.88 | 67.83 | 12 | 63 | 886 | 0 | 0 | 0 | 1 | 11 | 1 | |
30 | 280.36 | 67.83 | 12 | 71 | 886 | 1 | 0 | 0 | 1 | 11 | 1 | |
31 | 217.38 | 67.25 | 13 | 72 | 745 | 1 | 0 | 0 | 0 | 8 | 1 | |
32 | 270.71 | 67.83 | 7 | 80 | 886 | 1 | 0 | 0 | 1 | 11 | 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment