Mercurial > prosody-modules
comparison mod_client_management/mod_client_management.lua @ 5309:09656e2b4927
mod_client_management: Improve table output
Requires 1f89a2a9f532 and 1023c3faffac from Prosody.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 06 Apr 2023 15:22:10 +0100 |
| parents | f370ccb15f05 |
| children | 5806e05346b8 |
comparison
equal
deleted
inserted
replaced
| 5308:f370ccb15f05 | 5309:09656e2b4927 |
|---|---|
| 387 if not clients or #clients == 0 then | 387 if not clients or #clients == 0 then |
| 388 return true, "No clients associated with this account"; | 388 return true, "No clients associated with this account"; |
| 389 end | 389 end |
| 390 | 390 |
| 391 local colspec = { | 391 local colspec = { |
| 392 { title = "Software", key = "software" }; | 392 { title = "Software", key = "software", width = "1p" }; |
| 393 { title = "Last seen", key = "last_seen" }; | 393 { title = "Last seen", key = "last_seen", width = 10 }; |
| 394 { title = "Authentication", key = "auth_methods" }; | 394 { title = "Authentication", key = "auth_methods", width = "2p" }; |
| 395 }; | 395 }; |
| 396 | 396 |
| 397 local row = require "util.human.io".table(colspec, self.session.width); | 397 local row = require "util.human.io".table(colspec, self.session.width); |
| 398 | 398 |
| 399 local print = self.session.print; | 399 local print = self.session.print; |
| 400 print(row()); | 400 print(row()); |
| 401 print(string.rep("-", self.session.width)); | |
| 401 for _, client in ipairs(clients) do | 402 for _, client in ipairs(clients) do |
| 402 print(row({ | 403 print(row({ |
| 403 software = client.user_agent.software; | 404 id = client.id; |
| 405 software = client.user_agent and client.user_agent.software; | |
| 404 last_seen = os.date("%Y-%m-%d", client.last_seen); | 406 last_seen = os.date("%Y-%m-%d", client.last_seen); |
| 405 auth_methods = array.collect(it.keys(client.active)):sort(); | 407 auth_methods = array.collect(it.keys(client.active)):sort(); |
| 406 })); | 408 })); |
| 407 end | 409 end |
| 408 print(("%d clients"):format(#clients)); | 410 print(string.rep("-", self.session.width)); |
| 411 return true, ("%d clients"):format(#clients); | |
| 409 end | 412 end |
| 410 end); | 413 end); |
