From f0cea5973d51ab9bd5bd4e80456b9f2357a37706 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 1 Sep 2025 18:58:06 -0500 Subject: [PATCH] dump tables to STDOUT --- humanTable.go | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 humanTable.go diff --git a/humanTable.go b/humanTable.go new file mode 100644 index 0000000..78a9b2e --- /dev/null +++ b/humanTable.go @@ -0,0 +1,95 @@ +// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 + +package chatpb + +import ( + "go.wit.com/lib/cobol" + "go.wit.com/log" +) + +func (all *Chats) PrintHumanTable() { + log.DaemonMode(true) + + // print the header + args := []string{"uuid", "name", "age", "master", "devel", "user", "curver", "lasttag", "next", "repo type"} + sizes := []int{40, 40, 6, 4, 4, 4, 4, 4, 4, 4} + log.Info(cobol.StandardTableSize10(sizes, args)) + + for chat := range all.IterAll() { + chat.printChatToTable(sizes) + } + log.Infof("Total Chats: %d\n", all.Len()) +} + +func (c *Chat) printChatToTable(sizes []int) { + var args []string + age := c.Ctime.AsTime().String() + args = []string{c.Uuid, age, c.GetChatName(), "", "", "", "", "", "", ""} + + start := cobol.StandardTableSize10(sizes, args) + + log.Info(start) +} + +func (c *Chat) PrintChatStatsTable() { + log.DaemonMode(true) + + // print the header + args := []string{"uuid", "name", "age", "master", "devel", "user", "curver", "lasttag", "next", "repo type"} + sizes := []int{40, 40, 6, 4, 4, 4, 4, 4, 4, 4} + log.Info(cobol.StandardTableSize10(sizes, args)) + + for _, e := range c.GetSession() { + var args []string + args = []string{e.Uuid, "", "", "", "", "", "", "", "", ""} + + start := cobol.StandardTableSize10(sizes, args) + + log.Info(start) + } + log.Infof("Total Chats: %d\n", len(c.GetEntries())) +} + +func (c *Chat) PrintChatEntriesTable() { + log.DaemonMode(true) + + // print the header + args := []string{"uuid", "age", "con file", "Who", "model", "", "", "", "", ""} + sizes := []int{40, 16, 8, 4, 8, 2, 2, 2, 2, 2} + log.Info(cobol.StandardTableSize10(sizes, args)) + + for _, e := range c.GetEntries() { + var args []string + age := e.Ctime.AsTime().String() + args = []string{e.Uuid, age, e.GetContentFile(), e.From.String(), "", "", "", "", "", ""} + + start := cobol.StandardTableSize10(sizes, args) + log.Info(start) + } + log.Infof("Total Chats: %d\n", len(c.GetEntries())) +} + +func (c *Chat) PrintChatGeminiTable() { + log.DaemonMode(true) + + // print the header + args := []string{"uuid", "age", "con file", "Who", "model", "", "", "", "", ""} + sizes := []int{40, 16, 8, 4, 8, 2, 2, 2, 2, 2} + log.Info(cobol.StandardTableSize10(sizes, args)) + + for _, e := range c.GetEntries() { + var args []string + age := e.Ctime.AsTime().String() + var model string + if e.GeminiRequest == nil { + model = "nil" + } else { + model = e.GeminiRequest.Model + } + args = []string{e.Uuid, age, e.GetContentFile(), e.From.String(), model, "", "", "", "", ""} + + start := cobol.StandardTableSize10(sizes, args) + log.Info(start) + } + log.Infof("Total Chats: %d\n", len(c.GetEntries())) +}