string func worked

This commit is contained in:
Jeff Carr 2025-02-20 02:17:11 -06:00
parent 032d1b609a
commit a18ed55eaa
1 changed files with 31 additions and 7 deletions

View File

@ -11,7 +11,6 @@ func (x *Machines) NewTable(title string) *MachinesTable {
t.x = x
pb := new(guipb.Table)
pb.Title = title
pb.Order = append(pb.Order, "Memory")
t.pb = pb
return t
}
@ -32,6 +31,26 @@ func (t *MachinesTable) AddHostname() {
t.pb.Order = append(t.pb.Order, "Memory")
}
func (mt *MachinesTable) doStringFunc(name string) {
for _, sf := range mt.stringFuncs {
if sf.title != name {
continue
}
log.Info("zoopb: found stringfunc name:", name)
r := new(guipb.StringRow)
r.Header = new(guipb.Widget)
r.Header.Name = name
all := mt.x.All()
for all.Scan() {
m := all.Next()
r.Vals = append(r.Vals, sf.f(m))
log.Info("zoopb: adding", name, r.Vals)
}
mt.pb.StringRows = append(mt.pb.StringRows, r)
return
}
}
func (mt *MachinesTable) MakeTable() {
for _, name := range mt.pb.Order {
log.Info("zoopb: looking for row name()", name)
@ -39,39 +58,44 @@ func (mt *MachinesTable) MakeTable() {
case "Hostname":
r := new(guipb.StringRow)
r.Header = new(guipb.Widget)
r.Header.Name = "Hostname"
r.Header.Name = name
all := mt.x.All()
for all.Scan() {
m := all.Next()
r.Vals = append(r.Vals, m.Hostname)
log.Info("zoopb: adding hostname", r.Vals)
log.Info("zoopb: adding", name, r.Vals)
}
mt.pb.StringRows = append(mt.pb.StringRows, r)
continue
case "Cpus":
i := new(guipb.IntRow)
i.Header = new(guipb.Widget)
i.Header.Name = "Cpus"
i.Header.Name = name
all := mt.x.All()
for all.Scan() {
m := all.Next()
i.Vals = append(i.Vals, m.Cpus)
log.Info("zoopb: adding cpus", i.Vals)
log.Info("zoopb: adding", name, i.Vals)
}
mt.pb.IntRows = append(mt.pb.IntRows, i)
continue
case "Memory":
i := new(guipb.IntRow)
i.Header = new(guipb.Widget)
i.Header.Name = "Memories"
i.Header.Name = name
all := mt.x.All()
for all.Scan() {
m := all.Next()
i.Vals = append(i.Vals, m.Memory)
log.Info("zoopb: adding cpus", i.Vals)
log.Info("zoopb: adding", name, i.Vals)
}
mt.pb.IntRows = append(mt.pb.IntRows, i)
continue
default:
// mt.addFuncRow(name)
}
log.Info("zoopb: didn't find name. trying StringFuncs", name)
mt.doStringFunc(name)
}
}