# HG changeset patch # User Matthew Wild # Date 1276262722 -3600 # Node ID 8f78e81640327565f10e30595c246cd7cd396683 # Parent 90dc4afe7352ebef168e6229f1df6330894634f4 prosodyctl, util.pluginloader: Remove support for storing plugins in the data store, and the addplugin command diff -r 90dc4afe7352 -r 8f78e8164032 prosodyctl --- a/prosodyctl Wed Jun 09 01:14:32 2010 +0100 +++ b/prosodyctl Fri Jun 11 14:25:22 2010 +0100 @@ -499,37 +499,6 @@ return 1; end -local http_errors = { - [404] = "Plugin not found, did you type the address correctly?" - }; - -function commands.addplugin(arg) - if not arg[1] or arg[1] == "--help" then - show_usage("addplugin URL", "Download and install a plugin from a URL"); - return 1; - end - 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 or not tostring(err):match("^[23]") then - show_message("Failed: "..(http_errors[err] or ("HTTP error "..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 - --------------------- if command and command:match("^mod_") then -- Is a command in a module diff -r 90dc4afe7352 -r 8f78e8164032 util/pluginloader.lua --- a/util/pluginloader.lua Wed Jun 09 01:14:32 2010 +0100 +++ b/util/pluginloader.lua Fri Jun 11 14:25:22 2010 +0100 @@ -16,12 +16,6 @@ module "pluginloader" -local function load_from_datastore(name) - local content = datamanager.load(name, nil, "plugins"); - if not content or not content[1] then return nil, "Resource not found"; end - return content[1], name; -end - local function load_file(name) local file, err = io_open(plugin_dir..name); if not file then return file, err; end @@ -40,26 +34,9 @@ if not content then content, err = loader(resource); end -- TODO add support for packed plugins - if not content and loader == load_file then - return load_resource(plugin, resource, load_from_datastore); - end - return content, err; end -function store_resource(plugin, resource, content, metadata) - if not resource then - resource = "mod_"..plugin..".lua"; - end - local store = { content }; - if metadata then - for k,v in pairs(metadata) do - store[k] = v; - end - end - datamanager.store(plugin.."/"..resource, nil, "plugins", store); -end - function load_code(plugin, resource) local content, err = load_resource(plugin, resource); if not content then return content, err; end