Comparison

plugins/mod_console.lua @ 1906:88c61368e669

mod_console: Add module:list() command to show modules loaded on a host
author Matthew Wild <mwild1@gmail.com>
date Mon, 05 Oct 2009 14:40:01 +0100
parent 1821:05ed826da89b
child 1907:1dd4443e7d93
comparison
equal deleted inserted replaced
1905:e3e0a17e0b33 1906:88c61368e669
316 end 316 end
317 end 317 end
318 return ok, (ok and "Module reloaded on "..count.." host"..(count ~= 1 and "s" or "")) or ("Last error: "..tostring(err)); 318 return ok, (ok and "Module reloaded on "..count.." host"..(count ~= 1 and "s" or "")) or ("Last error: "..tostring(err));
319 end 319 end
320 320
321 function def_env.module:list(hosts)
322 if hosts == nil then
323 hosts = array.collect(keys(prosody.hosts));
324 end
325 if type(hosts) == "string" then
326 hosts = { hosts };
327 end
328 if type(hosts) ~= "table" then
329 return false, "Please supply a host or a list of hosts you would like to see";
330 end
331
332 local print = self.session.print;
333 for _, host in ipairs(hosts) do
334 print(host..":");
335 local modules = array.collect(keys(prosody.hosts[host].modules or {})):sort();
336 if #modules == 0 then
337 print(" No modules loaded");
338 else
339 for _, name in ipairs(modules) do
340 print(" "..name);
341 end
342 end
343 end
344 end
345
321 def_env.config = {}; 346 def_env.config = {};
322 function def_env.config:load(filename, format) 347 function def_env.config:load(filename, format)
323 local config_load = require "core.configmanager".load; 348 local config_load = require "core.configmanager".load;
324 local ok, err = config_load(filename, format); 349 local ok, err = config_load(filename, format);
325 if not ok then 350 if not ok then