Software /
code /
prosody
Changeset
2277:c5d3905c98a6
prosodyctl: Experimental 'addplugin' command
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 02 Dec 2009 20:31:54 +0000 |
parents | 2276:d9302be05f86 |
children | 2278:8c10f13c0c20 |
files | prosodyctl |
diffstat | 1 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/prosodyctl Wed Dec 02 18:05:03 2009 +0000 +++ b/prosodyctl Wed Dec 02 20:31:54 2009 +0000 @@ -462,6 +462,28 @@ return 1; end +function commands.addplugin(arg) + local url = arg[1]; + if url:match("^http://") then + local http = require "socket.http"; + show_message("Fetching..."); + local code, err = http.request(url); + if not code then + show_message("Failed: "..err); + return 1; + end + if url:match("%.lua$") then + local ok, err = datamanager.store(url:match("/mod_([^/]+)$"), "*", "plugins", {code}); + if not ok then + show_message("Failed to save to data store: "..err); + return 1; + end + end + show_message("Saved. Don't forget to load the module using the config file or admin console!"); + else + show_message("Sorry, I don't understand how to fetch plugins from there."); + end +end ---------------------