# HG changeset patch # User Matthew Wild # Date 1246153596 -3600 # Node ID e7bd00e709732befba2541c583e157396dbe6330 # Parent 8a59a694a9c0666951ccfcbfd06a7bf314960fdd mod_console: Reload/unload a module on a component host if it is loaded there diff -r 8a59a694a9c0 -r e7bd00e70973 plugins/mod_console.lua --- a/plugins/mod_console.lua Sat Jun 27 04:44:27 2009 +0100 +++ b/plugins/mod_console.lua Sun Jun 28 02:46:36 2009 +0100 @@ -162,7 +162,7 @@ def_env.module = {}; -local function get_hosts_set(hosts) +local function get_hosts_set(hosts, module) if type(hosts) == "table" then if hosts[1] then return set.new(hosts); @@ -172,8 +172,9 @@ elseif type(hosts) == "string" then return set.new { hosts }; elseif hosts == nil then + local mm = require "modulemanager"; return set.new(array.collect(keys(prosody.hosts))) - / function (host) return prosody.hosts[host].type == "local"; end; + / function (host) return prosody.hosts[host].type == "local" or module and mm.is_loaded(host, module); end; end end @@ -203,7 +204,7 @@ function def_env.module:unload(name, hosts) local mm = require "modulemanager"; - hosts = get_hosts_set(hosts); + hosts = get_hosts_set(hosts, name); -- Unload the module for each host local ok, err, count = true, nil, 0; @@ -225,7 +226,7 @@ function def_env.module:reload(name, hosts) local mm = require "modulemanager"; - hosts = get_hosts_set(hosts); + hosts = get_hosts_set(hosts, name); -- Reload the module for each host local ok, err, count = true, nil, 0;