diff options
Diffstat (limited to 'dgbuilder/red/cli')
-rw-r--r-- | dgbuilder/red/cli/lib/config.js | 53 | ||||
-rw-r--r-- | dgbuilder/red/cli/lib/request.js | 51 | ||||
-rwxr-xr-x | dgbuilder/red/cli/nr-cli.js | 151 |
3 files changed, 0 insertions, 255 deletions
diff --git a/dgbuilder/red/cli/lib/config.js b/dgbuilder/red/cli/lib/config.js deleted file mode 100644 index 3cd5244d..00000000 --- a/dgbuilder/red/cli/lib/config.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * 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 path = require("path"); -var fs = require("fs"); - -var userHome = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; - -var configDir = path.join(userHome,".nodered"); -var configFile = path.join(configDir,"config.json"); - -var config; - -function load() { - if (config == null) { - try { - config = JSON.parse(fs.readFileSync(configFile)); - } catch(err) { - config = {}; - } - } -} - -function save() { - try { - fs.mkdirSync(configDir); - } catch(err) { - if (err.code != "EEXIST") { - throw err; - } - } - fs.writeFileSync(configFile,JSON.stringify(config,null,4)); -} -module.exports = { - unload: function() { - config = null; - } -}; -module.exports.__defineGetter__('target',function() { load(); return config.target|| "http://localhost:1880" }); -module.exports.__defineSetter__('target',function(v) { load(); config.target = v; save();}); diff --git a/dgbuilder/red/cli/lib/request.js b/dgbuilder/red/cli/lib/request.js deleted file mode 100644 index fbbe3dc6..00000000 --- a/dgbuilder/red/cli/lib/request.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * 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 when = require("when"); -var request = require("request"); -var config = require("./config"); - -module.exports = function(path, options) { - var basePath = config.target; - return when.promise(function(resolve,reject) { - options.headers = options.headers||{}; - options.headers['Accept'] = 'application/json'; - if (options.method == 'PUT' || options.method == "POST") { - options.headers['content-type'] = 'application/json'; - } - options.url = basePath+path; - - // Pull out the request function so we can stub it in the tests - var requestFunc = request.get; - - if (options.method == 'PUT') { - requestFunc = request.put; - } else if (options.method == 'POST') { - requestFunc = request.post; - } else if (options.method == 'DELETE') { - requestFunc = request.del; - } - requestFunc(options, function(error,response,body) { - if (!error && response.statusCode == 200) { - resolve(JSON.parse(body)); - } else if (error) { - reject(error.toString()); - } else { - reject(response.statusCode+": "+body) - } - }); - }); -} 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(); -} - - -})(); |