1
0
Fork 0
mirror of https://codeberg.org/june64/mrvc.git synced 2026-01-12 00:23:49 +01:00

introduce option for JSON output

Also rename printHomeserverMemberCount option accordingly to fit new
output type.
This commit is contained in:
June 2025-08-19 21:21:39 +02:00
commit 4964485d29
Signed by: june
SSH key fingerprint: SHA256:o9EAq4Y9N9K0pBQeBTqhSDrND5E7oB+60ZNx0U1yPe0
6 changed files with 67 additions and 20 deletions

30
output/json.go Normal file
View file

@ -0,0 +1,30 @@
package output
import (
"encoding/json"
"log"
"os"
"codeberg.org/june64/mrvc/roominfotree"
)
func PrintJSON(roomInfoTree roominfotree.RoomInfoTree, outputHomeserverMemberCount bool) {
if !outputHomeserverMemberCount {
for _, roomInfo := range roomInfoTree {
for _, maxRoomVersionInfo := range roomInfo.MaxRoomVersions {
for _, serverInfo := range maxRoomVersionInfo.Servers {
for _, versionInfo := range serverInfo.Versions {
versionInfo.Homeservers = nil
}
}
}
}
}
json, err := json.Marshal(roomInfoTree)
if err != nil {
log.Fatal(err)
}
os.Stdout.Write(json)
}