diff options
Diffstat (limited to 'dgbuilder/red/cli/nr-cli.js')
-rwxr-xr-x | dgbuilder/red/cli/nr-cli.js | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/dgbuilder/red/cli/nr-cli.js b/dgbuilder/red/cli/nr-cli.js deleted file mode 100755 index 6d62f05f..00000000 --- a/dgbuilder/red/cli/nr-cli.js +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/env node -;(function() { -/** - * Copyright 2014 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var util = require("util"); -var request = require("request"); -var colors = require('colors'); -var apiRequest = require("./lib/request"); -var config = require("./lib/config"); - -var commands = { - "target": function() { - var target = process.argv[3]; - if (target) { - if (!/^https?:\/\/.+/.test(target)) { - console.warn("Invalid target url"); - return; - } - if (target.slice(-1) == "/") { - target = target.slice(0,target.length-1); - } - var oldTarget = config.target; - config.target = target; - } else { - console.log("Target: ".yellow+config.target); - } - - }, - "nodes": function() { - apiRequest('/nodes',{}).then(logNodeList).otherwise(logFailure); - }, - "node": function() { - apiRequest('/nodes/'+process.argv[3],{}).then(logNodeList).otherwise(logFailure); - }, - "enable-node": function() { - apiRequest('/nodes/'+process.argv[3],{ - method: "PUT", - body: JSON.stringify({enabled:true}) - }).then(logNodeList).otherwise(logFailure); - }, - "disable-node": function() { - apiRequest('/nodes/'+process.argv[3],{ - method: "PUT", - body: JSON.stringify({enabled:false}) - }).then(logNodeList).otherwise(logFailure); - }, - "install": function() { - apiRequest('/nodes',{ - method: "POST", - body: JSON.stringify({module:process.argv[3]}) - }).then(logNodeList).otherwise(logFailure); - }, - "remove": function() { - apiRequest('/nodes/'+process.argv[3],{ - method: "DELETE" - }).then(logNodeList).otherwise(logFailure); - }, - "search": function() { - var options = { - method: "GET", - url: 'https://registry.npmjs.org/-/_view/byKeyword?startkey=["node-red"]&endkey=["node-red",{}]&group_level=3' , - headers: { - 'Accept': 'application/json', - } - }; - request(options, function (error, response, body) { - if (!error && response.statusCode == 200) { - var info = (JSON.parse(body)).rows; - var filter = null; - if (process.argv[3]) { - filter = new RegExp(process.argv[3]); - } - for (var i=0;i<info.length;i++) { - var n = info[i]; - if (!filter || filter.test(n.key[1]) || filter.test(n.key[2])) { - console.log(n.key[1] + (" - "+ n.key[2]).grey); - } - } - } else if (error) { - console.log(error.toString().red); - } else { - console.log((response.statusCode+": "+body).red); - } - }); - } -} - -function logNodeList(nodes) { - if (!util.isArray(nodes)) { - nodes = [nodes]; - } - for (var i=0;i<nodes.length;i++) { - var n = nodes[i]; - console.log(formatNodeInfo(n)) - } -} - -function logFailure(msg) { - console.log(msg.red); -} - -function formatBoolean(v,c) { - if (v) { - return ("["+c+"]"); - } else { - return ("[ ]"); - } -} - -function formatNodeInfo(n) { - var inError = n.hasOwnProperty("err"); - - var str = formatBoolean(n.enabled,"X")+formatBoolean(n.loaded,"L")+" "; - str += n.id; - if (n.enabled && n.loaded) { - str = str.green; - } else if (n.enabled && n.err) { - str = str.red; - } else { - str = str.yellow; - } - if (n.module) { - str += " ["+n.module+"]"; - } - str += " "+n.types.join(", "); - if (n.err) { - str+=" "+n.err.red; - } - return str; -} - -if (commands[process.argv[2]]) { - commands[process.argv[2]].call(); -} - - -})(); |