diff --git a/README.md b/README.md index 4cafdf0a5f..8823f967a5 100644 --- a/README.md +++ b/README.md @@ -529,15 +529,16 @@ Some people have have added features and fixed bugs in `node_redis` other than m In order of first contribution, they are: -* [Tim Smart](http://github.com/Tim-Smart) -* [TJ Holowaychuk](http://github.com/visionmedia) -* [Rick Olson](http://github.com/technoweenie) -* [Orion Henry](http://github.com/orionz) -* [Hank Sims](http://github.com/hanksims) -* [Aivo Paas](http://github.com/aivopaas) +* [Tim Smart](https://github.com/Tim-Smart) +* [TJ Holowaychuk](https://github.com/visionmedia) +* [Rick Olson](https://github.com/technoweenie) +* [Orion Henry](https://github.com/orionz) +* [Hank Sims](https://github.com/hanksims) +* [Aivo Paas](https://github.com/aivopaas) * [Paul Carey](https://github.com/paulcarey) * [Pieter Noordhuis](https://github.com/pietern) * [Vladimir Dronnikov](https://github.com/dvv) +* [Dave Hoover](https://github.com/redsquirrel) Thanks. diff --git a/changelog.md b/changelog.md index d2365c6153..91c7e8e7d1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,8 @@ Changelog ========= +Auto update of new commands from redis.io (Dave Hoover) + ## v0.6.0 - April 21, 2011 Lots of bugs fixed. diff --git a/generate_commands.js b/generate_commands.js index b06dd22850..fa6a10e014 100644 --- a/generate_commands.js +++ b/generate_commands.js @@ -2,38 +2,39 @@ var http = require("http"), sys = require("sys"), fs = require("fs"); -http.get({host: "redis.io", path: "/commands.json"}, function(res) { - console.log("Response from redis.io/commands.json: " + res.statusCode); - - var commandString = ""; - res.on('data', function(chunk) { - commandString += chunk; - }); - - res.on('end', function() { - var commands = JSON.parse(commandString); - writeCommandsToFile(commands, "lib/commands.js"); - }) -}).on('error', function(e) { - console.log("Got error: " + e.message); -}); - -function writeCommandsToFile(commands, path) { - console.log("Writing " + path); - - var fileContents = "// This file was generated by ./generate_commands.js on " + prettyCurrentTime() + "\n"; - - var lowerCommands = []; - for (var command in commands) { - lowerCommands.push(command.toLowerCase()); - } - - fileContents += "exports.Commands = " + JSON.stringify(lowerCommands, null, " ") + ";\n"; - - fs.writeFile(path, fileContents); +function prettyCurrentTime() { + var date = new Date(); + return date.toLocaleString(); } -function prettyCurrentTime() { - var date = new Date(); - return date.toLocaleString(); -} \ No newline at end of file +function write_file(commands, path) { + var file_contents, out_commands; + + console.log("Writing " + Object.keys(commands).length + " commands to " + path); + + file_contents = "// This file was generated by ./generate_commands.js on " + prettyCurrentTime() + "\n"; + + out_commands = Object.keys(commands).map(function (key) { + return key.toLowerCase(); + }); + + file_contents += "exports.Commands = " + JSON.stringify(out_commands, null, " ") + ";\n"; + + fs.writeFile(path, file_contents); +} + +http.get({host: "redis.io", path: "/commands.json"}, function (res) { + var body = ""; + + console.log("Response from redis.io/commands.json: " + res.statusCode); + + res.on('data', function (chunk) { + body += chunk; + }); + + res.on('end', function () { + write_file(JSON.parse(body), "lib/commands.js"); + }); +}).on('error', function (e) { + console.log("Error fetching command list from redis.io: " + e.message); +}); diff --git a/lib/commands.js b/lib/commands.js index d785a50389..dddcd86b53 100644 --- a/lib/commands.js +++ b/lib/commands.js @@ -1,4 +1,4 @@ -// This file was generated by ./generate_commands.js on Thu Jun 02 2011 21:50:36 GMT-0500 (CDT) +// This file was generated by ./generate_commands.js on Sun Jun 12 2011 14:25:05 GMT-1000 (HST) exports.Commands = [ "append", "auth", diff --git a/package.json b/package.json index 0260e0692f..103419840d 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "Paul Carey", "Pieter Noordhuis", "Andy Ray", - "Vladimir Dronnikov" + "Vladimir Dronnikov", + "Dave Hoover" ], "main": "./index.js", "scripts": {