Software /
code /
prosody
Diff
plugins/mod_admin_shell.lua @ 11917:d27b74b25105
mod_admin_shell: Return counts of shown vs total from new table views
Not exactly the way it was before, but close enough and useful.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 16 Nov 2021 16:06:41 +0100 |
parent | 11905:bbfa707a4756 |
child | 11930:ec46f110ce1d |
line wrap: on
line diff
--- a/plugins/mod_admin_shell.lua Tue Nov 16 16:03:23 2021 +0100 +++ b/plugins/mod_admin_shell.lua Tue Nov 16 16:06:41 2021 +0100 @@ -851,7 +851,11 @@ if not group_by_host then print(row()); end local currenthost = nil; - for _, session in ipairs(get_c2s():filter(match):sort(_sort_by_jid)) do + local c2s_sessions = get_c2s(); + local total_count = #c2s_sessions; + c2s_sessions:filter(match):sort(_sort_by_jid); + local shown_count = #c2s_sessions; + for _, session in ipairs(c2s_sessions) do if group_by_host and session.host ~= currenthost then currenthost = session.host; print("#",prosody.hosts[currenthost] or "Unknown host"); @@ -860,7 +864,10 @@ print(row(session)); end - return true; + if total_count ~= shown_count then + return true, ("%d out of %d c2s sessions shown"):format(shown_count, total_count); + end + return true, ("%d c2s sessions shown"):format(total_count); end function def_env.c2s:show_tls(match_jid) @@ -927,7 +934,10 @@ if not group_by_host then print(row()); end - local s2s_sessions = array(iterators.values(module:shared"/*/s2s/sessions")):filter(match):sort(_sort_s2s); + local s2s_sessions = array(iterators.values(module:shared"/*/s2s/sessions")); + local total_count = #s2s_sessions; + s2s_sessions:filter(match):sort(_sort_s2s); + local shown_count = #s2s_sessions; for _, session in ipairs(s2s_sessions) do if group_by_host and currenthost ~= get_s2s_hosts(session) then @@ -938,7 +948,10 @@ print(row(session)); end - return true; -- TODO counts + if total_count ~= shown_count then + return true, ("%d out of %d s2s connections shown"):format(shown_count, total_count); + end + return true, ("%d s2s connections shown"):format(total_count); end function def_env.s2s:show_tls(match_jid)