Add nodesExcludes option

This commit is contained in:
Nick O'Leary 2014-04-08 13:32:46 +01:00
parent 069f42f0c5
commit 43073de10b
1 changed files with 18 additions and 13 deletions

View File

@ -208,19 +208,25 @@ function load(_settings) {
var RED = require("./red.js"); var RED = require("./red.js");
function loadNode(nodeFilename) { function loadNode(nodeDir, nodeFn) {
var preCount = node_type_registry.count();
if (settings.nodesExcludes) {
for (var i=0;i<settings.nodesExcludes.length;i++) {
if (settings.nodesExcludes[i] == nodeFn) {
return;
}
}
}
var nodeFilename = path.join(nodeDir,nodeFn);
var r = require(nodeFilename); var r = require(nodeFilename);
if (typeof r === "function") { if (typeof r === "function") {
r(RED); r(RED);
} }
if (preCount != node_type_registry.count()) { var templateFilename = nodeFilename.replace(/\.js$/,".html");
var templateFilename = nodeFilename.replace(/\.js$/,".html"); if (fs.existsSync(templateFilename)) {
if (fs.existsSync(templateFilename)) { node_type_registry.registerConfig(fs.readFileSync(templateFilename,'utf8'));
node_type_registry.registerConfig(fs.readFileSync(templateFilename,'utf8')); } else {
} else { util.log("["+type+"] missing template file: "+templateFilename);
util.log("["+type+"] missing template file: "+templateFilename);
}
} }
} }
@ -239,8 +245,8 @@ function load(_settings) {
for (var i in nrn) { for (var i in nrn) {
console.log(" ",i,":",nrn[i]); console.log(" ",i,":",nrn[i]);
try { try {
var nodeFilename = path.join(pm,fn,nrn[i]); var nodeDir = path.join(pm,fn);
loadNode(nodeFilename); loadNode(nodeDir,nrn[i]);
} catch(err) { } catch(err) {
util.log("["+i+"] "+err); util.log("["+i+"] "+err);
//console.log(err.stack); //console.log(err.stack);
@ -266,8 +272,7 @@ function load(_settings) {
if (stats.isFile()) { if (stats.isFile()) {
if (/\.js$/.test(fn)) { if (/\.js$/.test(fn)) {
try { try {
var nodeFilename = path.join(dir,fn); loadNode(dir,fn);
loadNode(nodeFilename);
} catch(err) { } catch(err) {
errors.push({fn:fn, err:err}); errors.push({fn:fn, err:err});
//util.log("["+fn+"] "+err); //util.log("["+fn+"] "+err);