Software / code / prosody
Comparison
plugins/mod_admin_telnet.lua @ 9330:36badabc85ce
mod_admin_telnet: Make use of util.iterators.sorted_pairs()
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 21 Sep 2018 14:36:29 +0100 |
| parent | 9009:4c745d42c974 |
| child | 9332:048389a9bbd4 |
comparison
equal
deleted
inserted
replaced
| 9329:19bc3ec13f07 | 9330:36badabc85ce |
|---|---|
| 873 | 873 |
| 874 function def_env.host:list() | 874 function def_env.host:list() |
| 875 local print = self.session.print; | 875 local print = self.session.print; |
| 876 local i = 0; | 876 local i = 0; |
| 877 local type; | 877 local type; |
| 878 for host in values(array.collect(keys(prosody.hosts)):sort()) do | 878 for host, host_session in it.sorted_pairs(prosody.hosts) do |
| 879 i = i + 1; | 879 i = i + 1; |
| 880 type = hosts[host].type; | 880 type = host_session.type; |
| 881 if type == "local" then | 881 if type == "local" then |
| 882 print(host); | 882 print(host); |
| 883 else | 883 else |
| 884 type = module:context(host):get_option_string("component_module", type); | 884 type = module:context(host):get_option_string("component_module", type); |
| 885 if type ~= "component" then | 885 if type ~= "component" then |
| 894 def_env.port = {}; | 894 def_env.port = {}; |
| 895 | 895 |
| 896 function def_env.port:list() | 896 function def_env.port:list() |
| 897 local print = self.session.print; | 897 local print = self.session.print; |
| 898 local services = portmanager.get_active_services().data; | 898 local services = portmanager.get_active_services().data; |
| 899 local ordered_services, n_ports = {}, 0; | 899 local n_services, n_ports = 0, 0; |
| 900 for service, interfaces in pairs(services) do | 900 for service, interfaces in it.sorted_pairs(services) do |
| 901 table.insert(ordered_services, service); | 901 n_services = n_services + 1; |
| 902 end | |
| 903 table.sort(ordered_services); | |
| 904 for _, service in ipairs(ordered_services) do | |
| 905 local ports_list = {}; | 902 local ports_list = {}; |
| 906 for interface, ports in pairs(services[service]) do | 903 for interface, ports in pairs(interfaces) do |
| 907 for port in pairs(ports) do | 904 for port in pairs(ports) do |
| 908 table.insert(ports_list, "["..interface.."]:"..port); | 905 table.insert(ports_list, "["..interface.."]:"..port); |
| 909 end | 906 end |
| 910 end | 907 end |
| 911 n_ports = n_ports + #ports_list; | 908 n_ports = n_ports + #ports_list; |
| 912 print(service..": "..table.concat(ports_list, ", ")); | 909 print(service..": "..table.concat(ports_list, ", ")); |
| 913 end | 910 end |
| 914 return true, #ordered_services.." services listening on "..n_ports.." ports"; | 911 return true, n_services.." services listening on "..n_ports.." ports"; |
| 915 end | 912 end |
| 916 | 913 |
| 917 function def_env.port:close(close_port, close_interface) | 914 function def_env.port:close(close_port, close_interface) |
| 918 close_port = assert(tonumber(close_port), "Invalid port number"); | 915 close_port = assert(tonumber(close_port), "Invalid port number"); |
| 919 local n_closed = 0; | 916 local n_closed = 0; |