Software /
code /
prosody
Comparison
plugins/mod_admin_shell.lua @ 13562:f77c247258cc
mod_admin_shell: Report when a module is already loaded
Hopefully less confusing than "Module loaded onto 0 hosts"
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 15 Nov 2024 15:52:37 +0100 |
parent | 13561:d8f7a8a26965 |
child | 13582:67c9fc643873 |
comparison
equal
deleted
inserted
replaced
13561:d8f7a8a26965 | 13562:f77c247258cc |
---|---|
629 | 629 |
630 describe_command [[module:load(module, host) - Load the specified module on the specified host (or all hosts if none given)]] | 630 describe_command [[module:load(module, host) - Load the specified module on the specified host (or all hosts if none given)]] |
631 function def_env.module:load(name, hosts) | 631 function def_env.module:load(name, hosts) |
632 hosts = get_hosts_with_module(hosts); | 632 hosts = get_hosts_with_module(hosts); |
633 | 633 |
634 local already_loaded = set.new(); | |
634 -- Load the module for each host | 635 -- Load the module for each host |
635 local ok, err, count, mod = true, nil, 0; | 636 local ok, err, count, mod = true, nil, 0; |
636 for host in hosts do | 637 for host in hosts do |
637 local configured_modules, component = modulemanager.get_modules_for_host(host); | 638 local configured_modules, component = modulemanager.get_modules_for_host(host); |
638 | 639 |
653 | 654 |
654 if not (configured_modules:contains(name) or name == component) then | 655 if not (configured_modules:contains(name) or name == component) then |
655 self.session.print("Note: Module will not be loaded after restart unless enabled in configuration"); | 656 self.session.print("Note: Module will not be loaded after restart unless enabled in configuration"); |
656 end | 657 end |
657 end | 658 end |
659 else | |
660 already_loaded:add(host); | |
658 end | 661 end |
659 end | 662 end |
660 | 663 |
661 if not ok then | 664 if not ok then |
662 return ok, "Last error: "..tostring(err); | 665 return ok, "Last error: "..tostring(err); |
666 end | |
667 if already_loaded == hosts then | |
668 return ok, "Module already loaded"; | |
663 end | 669 end |
664 return ok, "Module loaded onto "..count.." host"..(count ~= 1 and "s" or ""); | 670 return ok, "Module loaded onto "..count.." host"..(count ~= 1 and "s" or ""); |
665 end | 671 end |
666 | 672 |
667 describe_command [[module:unload(module, host) - The same, but just unloads the module from memory]] | 673 describe_command [[module:unload(module, host) - The same, but just unloads the module from memory]] |