mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	Update node-red-nodes social nodes to use strict and pass jshint scan
This commit is contained in:
		
							
								
								
									
										95
									
								
								social/dweetio/55-dweetio.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								social/dweetio/55-dweetio.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,95 @@ | ||||
| <!-- | ||||
|   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. | ||||
| --> | ||||
|  | ||||
| <script type="text/x-red" data-template-name="dweetio out"> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-thing"><i class="icon-flag"></i> Thing</label> | ||||
|         <input type="text" id="node-input-thing" placeholder="my-globally-unique-device-id"> | ||||
|     </div> | ||||
|     <br/> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-name"><i class="icon-tag"></i> Name</label> | ||||
|         <input type="text" id="node-input-name" placeholder="Name"> | ||||
|     </div> | ||||
| </script> | ||||
|  | ||||
| <script type="text/x-red" data-help-name="dweetio out"> | ||||
|     <p>Sends the <b>msg.payload</b> to Dweet.io</p> | ||||
|     <p>Optionally uses <b>msg.thing</b> to set the thing id, if not already set in the properties.</p> | ||||
|     <p>You need to make the thing id unique - you are recommended to use a GUID.<p> | ||||
|     <p>For further info see the <a href="https://dweetio.io/" target="_new">Dweet.io website</a>.</p> | ||||
| </script> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
|     RED.nodes.registerType('dweetio out',{ | ||||
|         category: 'output', | ||||
|         defaults: { | ||||
|             thing: {value:""}, | ||||
|             name: {value:""} | ||||
|         }, | ||||
|         color:"#d7c9a0", | ||||
|         inputs:1, | ||||
|         outputs:0, | ||||
|         icon: "arrow.png", | ||||
|         align: "right", | ||||
|         label: function() { | ||||
|             return this.name||this.title||"dweetio"; | ||||
|         }, | ||||
|         labelStyle: function() { | ||||
|             return this.name?"node_label_italic":""; | ||||
|         } | ||||
|     }); | ||||
| </script> | ||||
|  | ||||
|  | ||||
| <script type="text/x-red" data-template-name="dweetio in"> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-thing"><i class="icon-flag"></i> Thing</label> | ||||
|         <input type="text" id="node-input-thing" placeholder="my-globally-unique-device-id"> | ||||
|     </div> | ||||
|     <br/> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-name"><i class="icon-tag"></i> Name</label> | ||||
|         <input type="text" id="node-input-name" placeholder="Name"> | ||||
|     </div> | ||||
| </script> | ||||
|  | ||||
| <script type="text/x-red" data-help-name="dweetio in"> | ||||
|     <p>Listens for messages from Dweet.io</p> | ||||
|     <p>The thing id should be globally unique as they are all public - you are recommended to use a GUID.<p> | ||||
|     <p>The Thing ID is set into <b>msg.dweet</b>, and the timesamp into <b>msg.created</b>.</p> | ||||
|     <p>For further info see the <a href="https://dweetio.io/" target="_new">Dweet.io website</a>.</p> | ||||
| </script> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
|     RED.nodes.registerType('dweetio in',{ | ||||
|         category: 'input', | ||||
|         defaults: { | ||||
|             thing: {value:""}, | ||||
|             name: {value:""} | ||||
|         }, | ||||
|         color:"#d7c9a0", | ||||
|         inputs:0, | ||||
|         outputs:1, | ||||
|         icon: "arrow.png", | ||||
|         label: function() { | ||||
|             return this.name||this.title||"dweetio"; | ||||
|         }, | ||||
|         labelStyle: function() { | ||||
|             return this.name?"node_label_italic":""; | ||||
|         } | ||||
|     }); | ||||
| </script> | ||||
							
								
								
									
										67
									
								
								social/dweetio/55-dweetio.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								social/dweetio/55-dweetio.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| /** | ||||
|  * 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. | ||||
|  **/ | ||||
|  | ||||
| module.exports = function(RED) { | ||||
|     "use strict"; | ||||
|     var DweetClient = require("node-dweetio"); | ||||
|     var util = require('util'); | ||||
|     var dweetio = null; | ||||
|  | ||||
|     function DweetioOutNode(n) { | ||||
|         RED.nodes.createNode(this,n); | ||||
|         this.thing = n.thing; | ||||
|         if (dweetio  == null) { dweetio = new DweetClient(); } | ||||
|         var node = this; | ||||
|  | ||||
|         this.on("input",function(msg) { | ||||
|             //if (typeof(msg.payload) === 'object') { | ||||
|                 var thing = node.thing || msg.thing; | ||||
|                 try { | ||||
|                     dweetio.dweet_for(thing, {some:msg.payload}, function(err, dweet) { | ||||
|                         //console.log(dweet.thing); // "my-thing" | ||||
|                         //console.log(dweet.content); // The content of the dweet | ||||
|                         //console.log(dweet.created); // The create date of the dweet | ||||
|                     }); | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     node.log(err); | ||||
|                 } | ||||
|             //} else { node.warn("Dweetio only sends payload objects."); } | ||||
|         }); | ||||
|  | ||||
|     } | ||||
|     RED.nodes.registerType("dweetio out",DweetioOutNode); | ||||
|  | ||||
|     function DweetioInNode(n) { | ||||
|         RED.nodes.createNode(this,n); | ||||
|         this.thing = n.thing; | ||||
|         if (dweetio  == null) { dweetio = new DweetClient(); } | ||||
|         var node = this; | ||||
|  | ||||
|         dweetio.listen_for(node.thing, function(dweet){ | ||||
|             // This will be called anytime there is a new dweet for my-thing | ||||
|             dweet.payload = dweet.content.some; | ||||
|             delete dweet.content; | ||||
|             node.send(dweet); | ||||
|         }); | ||||
|  | ||||
|         this.on("close", function() { | ||||
|             dweetio.stop_listening_for(node.thing); | ||||
|         }); | ||||
|  | ||||
|     } | ||||
|     RED.nodes.registerType("dweetio in",DweetioInNode); | ||||
| } | ||||
| @@ -14,89 +14,91 @@ | ||||
|  * limitations under the License. | ||||
|  **/ | ||||
|  | ||||
| var RED = require(process.env.NODE_RED_HOME+"/red/red"); | ||||
| var util = require("util"); | ||||
| var exec = require('child_process').exec; | ||||
| var komponist = require('komponist'); | ||||
| var mpc = null; | ||||
| exec("which mpd",function(err,stdout,stderr) { | ||||
|     if (stdout.indexOf('mpd') == -1) { | ||||
|         throw 'Error: Cannot find "mpd" command. Please install MPD.'; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| exec("netstat -an | grep LISTEN | grep 6600",function(err,stdout,stderr) { | ||||
|     if (stdout.indexOf('6600') == -1) { | ||||
|         throw '[69-mpd.js] Error: MPD daemon not listening on port 6600. Please start MPD.'; | ||||
|     } | ||||
|     komponist.createConnection(6600, 'localhost', function(err, client) { | ||||
|         if (err) node.error("MPD: Failed to connect to MPD server"); | ||||
|         mpc = client; | ||||
| module.exports = function(RED) { | ||||
|     "use strict"; | ||||
|     var util = require("util"); | ||||
|     var exec = require('child_process').exec; | ||||
|     var komponist = require('komponist'); | ||||
|     var mpc = null; | ||||
|     exec("which mpd",function(err,stdout,stderr) { | ||||
|         if (stdout.indexOf('mpd') == -1) { | ||||
|             throw 'Error: Cannot find "mpd" command. Please install MPD.'; | ||||
|         } | ||||
|     }); | ||||
| }); | ||||
|  | ||||
|  | ||||
| function MPDOut(n) { | ||||
|     RED.nodes.createNode(this,n); | ||||
|     var node = this; | ||||
|     node.mpc = mpc; | ||||
|  | ||||
|     if (mpc != null) { | ||||
|         this.on("input", function(msg) { | ||||
|             if (msg != null) { | ||||
|                 try { | ||||
|                     //node.mpc.command(msg.payload); | ||||
|                     node.mpc.command(msg.payload, msg.param, function(err, results) { | ||||
|                         if (err) { node.log("error: "+err); } | ||||
|                         //else { console.log(results); } | ||||
|                     }); | ||||
|                 } catch (err) { node.log("error: "+err); } | ||||
|             } | ||||
|     exec("netstat -an | grep LISTEN | grep 6600",function(err,stdout,stderr) { | ||||
|         if (stdout.indexOf('6600') == -1) { | ||||
|             throw '[69-mpd.js] Error: MPD daemon not listening on port 6600. Please start MPD.'; | ||||
|         } | ||||
|         komponist.createConnection(6600, 'localhost', function(err, client) { | ||||
|             if (err) { node.error("MPD: Failed to connect to MPD server"); } | ||||
|             mpc = client; | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
|         node.mpc.on('error', function(err) { | ||||
|             node.log("error: "+err); | ||||
|         }); | ||||
|     } | ||||
|     else { node.warn("MPD not running"); } | ||||
| } | ||||
| RED.nodes.registerType("mpd out",MPDOut); | ||||
|  | ||||
| function MPDIn(n) { | ||||
|     RED.nodes.createNode(this,n); | ||||
|     var node = this; | ||||
|     node.mpc = mpc; | ||||
|     var oldMsg = ""; | ||||
|     function MPDOut(n) { | ||||
|         RED.nodes.createNode(this,n); | ||||
|         var node = this; | ||||
|         node.mpc = mpc; | ||||
|  | ||||
|     if (mpc != null) { | ||||
|         getSong(); | ||||
|  | ||||
|         function getSong() { | ||||
|             node.mpc.currentsong(function(err, info) { | ||||
|                 if (err) node.log(err); | ||||
|                 else { | ||||
|                     var msg = {payload:{},topic:"music"}; | ||||
|                     msg.payload.Artist = info.Artist; | ||||
|                     msg.payload.Album = info.Album; | ||||
|                     msg.payload.Title = info.Title; | ||||
|                     msg.payload.Genre = info.Genre; | ||||
|                     msg.payload.Date = info.Date; | ||||
|                     if (JSON.stringify(msg) != oldMsg) { | ||||
|                         node.send(msg); | ||||
|                         oldMsg = JSON.stringify(msg); | ||||
|                     } | ||||
|         if (mpc != null) { | ||||
|             this.on("input", function(msg) { | ||||
|                 if (msg != null) { | ||||
|                     try { | ||||
|                         //node.mpc.command(msg.payload); | ||||
|                         node.mpc.command(msg.payload, msg.param, function(err, results) { | ||||
|                             if (err) { node.log("error: "+err); } | ||||
|                             //else { console.log(results); } | ||||
|                         }); | ||||
|                     } catch (err) { node.log("error: "+err); } | ||||
|                 } | ||||
|             }); | ||||
|  | ||||
|             node.mpc.on('error', function(err) { | ||||
|                 node.log("error: "+err); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         node.mpc.on('changed', function(system) { | ||||
|             getSong(); | ||||
|         }); | ||||
|  | ||||
|         this.on("close", function() { | ||||
|            // node.mpc.command("stop"); | ||||
|         }); | ||||
|         else { node.warn("MPD not running"); } | ||||
|     } | ||||
|     else { node.warn("MPD not running"); } | ||||
|     RED.nodes.registerType("mpd out",MPDOut); | ||||
|  | ||||
|     function MPDIn(n) { | ||||
|         RED.nodes.createNode(this,n); | ||||
|         var node = this; | ||||
|         node.mpc = mpc; | ||||
|         var oldMsg = ""; | ||||
|  | ||||
|         if (mpc != null) { | ||||
|             getSong(); | ||||
|  | ||||
|             var getSong = function() { | ||||
|                 node.mpc.currentsong(function(err, info) { | ||||
|                     if (err) { node.log(err); } | ||||
|                     else { | ||||
|                         var msg = {payload:{},topic:"music"}; | ||||
|                         msg.payload.Artist = info.Artist; | ||||
|                         msg.payload.Album = info.Album; | ||||
|                         msg.payload.Title = info.Title; | ||||
|                         msg.payload.Genre = info.Genre; | ||||
|                         msg.payload.Date = info.Date; | ||||
|                         if (JSON.stringify(msg) != oldMsg) { | ||||
|                             node.send(msg); | ||||
|                             oldMsg = JSON.stringify(msg); | ||||
|                         } | ||||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|  | ||||
|             node.mpc.on('changed', function(system) { | ||||
|                 getSong(); | ||||
|             }); | ||||
|  | ||||
|             this.on("close", function() { | ||||
|                // node.mpc.command("stop"); | ||||
|             }); | ||||
|         } | ||||
|         else { node.warn("MPD not running"); } | ||||
|     } | ||||
|     RED.nodes.registerType("mpd in",MPDIn); | ||||
| } | ||||
| RED.nodes.registerType("mpd in",MPDIn); | ||||
|   | ||||
| @@ -39,11 +39,11 @@ var querystring = require('querystring'); | ||||
| RED.httpAdmin.get('/xmpp-server/:id',function(req,res) { | ||||
|     var credentials = RED.nodes.getCredentials(req.params.id); | ||||
|     if (credentials) { | ||||
|         res.send(JSON.stringify({user:credentials.user,hasPassword:(credentials.password&&credentials.password!="")})); | ||||
|         res.send(JSON.stringify({user:credentials.user,hasPassword:(credentials.password&&credentials.password!=="")})); | ||||
|     } else if (xmppkey && xmppkey.jid && xmppkey.password) { | ||||
|         RED.nodes.addCredentials(req.params.id,{user:xmppkey.jid, password:xmppkey.password, global:true}); | ||||
|         credentials = RED.nodes.getCredentials(req.params.id); | ||||
|         res.send(JSON.stringify({user:credentials.user,global:credentials.global,hasPassword:(credentials.password&&credentials.password!="")})); | ||||
|         res.send(JSON.stringify({user:credentials.user,global:credentials.global,hasPassword:(credentials.password&&credentials.password!=="")})); | ||||
|     } else { | ||||
|         res.send(JSON.stringify({})); | ||||
|     } | ||||
| @@ -62,12 +62,12 @@ RED.httpAdmin.post('/xmpp-server/:id',function(req,res) { | ||||
|     req.on('end', function(){ | ||||
|         var newCreds = querystring.parse(body); | ||||
|         var credentials = RED.nodes.getCredentials(req.params.id)||{}; | ||||
|         if (newCreds.user == null || newCreds.user == "") { | ||||
|         if (newCreds.user == null || newCreds.user === "") { | ||||
|             delete credentials.user; | ||||
|         } else { | ||||
|             credentials.user = newCreds.user; | ||||
|         } | ||||
|         if (newCreds.password == "") { | ||||
|         if (newCreds.password === "") { | ||||
|             delete credentials.password; | ||||
|         } else { | ||||
|             credentials.password = newCreds.password||credentials.password; | ||||
| @@ -228,7 +228,7 @@ function XmppOutNode(n) { | ||||
|         } | ||||
|         else { | ||||
|             var to = msg.topic; | ||||
|             if (node.to != "") { to = node.to; } | ||||
|             if (node.to !== "") { to = node.to; } | ||||
|             if (node.sendAll) { | ||||
|                 xmpp.send(to, JSON.stringify(msg), node.join); | ||||
|             } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user