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 t.x = x
pb := new(guipb.Table) pb := new(guipb.Table)
pb.Title = title pb.Title = title
pb.Order = append(pb.Order, "Memory")
t.pb = pb t.pb = pb
return t return t
} }
@ -32,6 +31,26 @@ func (t *MachinesTable) AddHostname() {
t.pb.Order = append(t.pb.Order, "Memory") 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() { func (mt *MachinesTable) MakeTable() {
for _, name := range mt.pb.Order { for _, name := range mt.pb.Order {
log.Info("zoopb: looking for row name()", name) log.Info("zoopb: looking for row name()", name)
@ -39,39 +58,44 @@ func (mt *MachinesTable) MakeTable() {
case "Hostname": case "Hostname":
r := new(guipb.StringRow) r := new(guipb.StringRow)
r.Header = new(guipb.Widget) r.Header = new(guipb.Widget)
r.Header.Name = "Hostname" r.Header.Name = name
all := mt.x.All() all := mt.x.All()
for all.Scan() { for all.Scan() {
m := all.Next() m := all.Next()
r.Vals = append(r.Vals, m.Hostname) 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) mt.pb.StringRows = append(mt.pb.StringRows, r)
continue
case "Cpus": case "Cpus":
i := new(guipb.IntRow) i := new(guipb.IntRow)
i.Header = new(guipb.Widget) i.Header = new(guipb.Widget)
i.Header.Name = "Cpus" i.Header.Name = name
all := mt.x.All() all := mt.x.All()
for all.Scan() { for all.Scan() {
m := all.Next() m := all.Next()
i.Vals = append(i.Vals, m.Cpus) 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) mt.pb.IntRows = append(mt.pb.IntRows, i)
continue
case "Memory": case "Memory":
i := new(guipb.IntRow) i := new(guipb.IntRow)
i.Header = new(guipb.Widget) i.Header = new(guipb.Widget)
i.Header.Name = "Memories" i.Header.Name = name
all := mt.x.All() all := mt.x.All()
for all.Scan() { for all.Scan() {
m := all.Next() m := all.Next()
i.Vals = append(i.Vals, m.Memory) 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) mt.pb.IntRows = append(mt.pb.IntRows, i)
continue
default: default:
// mt.addFuncRow(name) // mt.addFuncRow(name)
} }
log.Info("zoopb: didn't find name. trying StringFuncs", name)
mt.doStringFunc(name)
} }
} }