mirror of
https://codeberg.org/june64/mrvc.git
synced 2026-01-11 08:16:33 +01:00
introduce option for JSON output
Also rename printHomeserverMemberCount option accordingly to fit new output type.
This commit is contained in:
parent
1e9f23d7a9
commit
4964485d29
6 changed files with 67 additions and 20 deletions
30
output/json.go
Normal file
30
output/json.go
Normal 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)
|
||||
}
|
||||
|
|
@ -39,7 +39,7 @@ func compareVersionStrings(a, b string) int {
|
|||
}
|
||||
}
|
||||
|
||||
func Print(roomInfoTree roominfotree.RoomInfoTree, printHomeserverMemberCount bool) {
|
||||
func Print(roomInfoTree roominfotree.RoomInfoTree, outputHomeserverMemberCount bool) {
|
||||
for roomID, roomInfo := range roomInfoTree {
|
||||
fmt.Println("Room:")
|
||||
fmt.Printf(" %s -> %d\n", roomID, roomInfo.MemberCount)
|
||||
|
|
@ -90,7 +90,7 @@ func Print(roomInfoTree roominfotree.RoomInfoTree, printHomeserverMemberCount bo
|
|||
|
||||
fmt.Printf(" %s -> %d\n", versionKey, versionInfo.MemberCount)
|
||||
|
||||
if printHomeserverMemberCount {
|
||||
if outputHomeserverMemberCount {
|
||||
homeserverKeys := make([]string, 0, len(versionInfo.Homeservers))
|
||||
for key := range versionInfo.Homeservers {
|
||||
homeserverKeys = append(homeserverKeys, key)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue