summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-02-24 10:59:50 -0600
committerJeff Carr <[email protected]>2025-02-24 10:59:50 -0600
commit670055341791491cb79d401af05ca8e1cd5c75ce (patch)
tree8f8feea75b309ea42fe7ecdb238dfbda85c4648c
parent7063837d40a4962cd66ddb9e55d5408b07aabd6d (diff)
generate Update table gui codev0.0.62
-rw-r--r--generateGui.go115
1 files changed, 105 insertions, 10 deletions
diff --git a/generateGui.go b/generateGui.go
index 3ff5d6a..c178cf0 100644
--- a/generateGui.go
+++ b/generateGui.go
@@ -53,6 +53,7 @@ func (pb *Files) makeGuiFile(pf *File) error {
log.Printf("Adding %s\n", funcdef)
*/
}
+ guiUpdate(newf, pf.Bases.Name, pf.Bases.Name)
fmt.Fprintf(newf, "\n")
fmt.Fprintf(newf, "// END GUI\n")
@@ -265,16 +266,6 @@ func guiAddStringFunc(w io.Writer, FRUITS string, FRUIT string, BRAND string) {
fmt.Fprintln(w, " })")
fmt.Fprintln(w, " return sf")
fmt.Fprintln(w, "}")
- /*
- fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddMemory() {")
- fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Memory\")")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddCpus() {")
- fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Cpus\")")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
- */
}
func guiAddIntFunc(w io.Writer, FRUITS string, FRUIT string, BRAND string) {
@@ -297,3 +288,107 @@ func guiAddIntFunc(w io.Writer, FRUITS string, FRUIT string, BRAND string) {
fmt.Fprintln(w, "")
*/
}
+
+func guiUpdate(w io.Writer, FRUITS string, FRUIT string) {
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) NewUuid() {")
+ fmt.Fprintln(w, " mt.pb.Uuid = uuid.New().String()")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+
+ fmt.Fprintln(w, "// START TABLE UPDATE")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) Update() {")
+ fmt.Fprintln(w, " // log.Info(\"now what?\")")
+ fmt.Fprintln(w, " for _, name := range mt.pb.Order {")
+ fmt.Fprintln(w, " // log.Info(\""+FRUIT+"pb: trying to update row()\", name)")
+ fmt.Fprintln(w, " if mt.updateStringFunc(name) {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " if mt.updateTimeFunc(name) {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " /*")
+ fmt.Fprintln(w, " if mt.updateIntFunc(name) {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " */")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // mt.dumpStringFunc(\"Hostname\")")
+ fmt.Fprintln(w, " mt.parent.UpdateTable(mt.pb)")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) dumpStringFunc(name string) {")
+ fmt.Fprintln(w, " for i, r := range mt.pb.StringRows {")
+ fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)")
+ fmt.Fprintln(w, " if r.Header.Name == name {")
+ fmt.Fprintln(w, " log.Info(\"dump Strings row\", i, r.Header.Name, r.Vals)")
+ fmt.Fprintln(w, " break")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) updateStringFunc(name string) bool {")
+ fmt.Fprintln(w, " // log.Info(\"LOOKING FOR STRING row\", name)")
+ fmt.Fprintln(w, " var found *guipb.StringRow")
+ fmt.Fprintln(w, " for _, r := range mt.pb.StringRows {")
+ fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)")
+ fmt.Fprintln(w, " if r.Header.Name == name {")
+ fmt.Fprintln(w, " // log.Info(\"found row\", i, r.Header.Name)")
+ fmt.Fprintln(w, " found = r")
+ fmt.Fprintln(w, " break")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " if found == nil {")
+ fmt.Fprintln(w, " log.Info(\"did not find string row\", name)")
+ fmt.Fprintln(w, " return false")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " for _, sf := range mt.stringFuncs {")
+ fmt.Fprintln(w, " if sf.title != name {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // log.Info(\""+FRUIT+"pb: starting\", name, found.Vals)")
+ fmt.Fprintln(w, " for i, _ := range found.Vals {")
+ fmt.Fprintln(w, " tmp := sf.f(mt.x."+FRUITS+"[i])")
+ fmt.Fprintln(w, " if tmp == \"www.wit.com\" {")
+ fmt.Fprintln(w, " log.Info(\"virtpb: FOUND WWW\", i)")
+ fmt.Fprintln(w, " tmp = \"new.www\"")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " found.Vals[i] = tmp")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // log.Info(\""+FRUIT+"pb: ending\", name, found.Vals)")
+ fmt.Fprintln(w, " return true")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " return false")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) updateTimeFunc(name string) bool {")
+ fmt.Fprintln(w, " log.Info(\"LOOKING FOR TIME row\", name)")
+ fmt.Fprintln(w, " var found *guipb.TimeRow")
+ fmt.Fprintln(w, " for i, r := range mt.pb.TimeRows {")
+ fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)")
+ fmt.Fprintln(w, " if r.Header.Name == name {")
+ fmt.Fprintln(w, " log.Info(\"found row\", i, r.Header.Name)")
+ fmt.Fprintln(w, " found = r")
+ fmt.Fprintln(w, " break")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " if found == nil {")
+ fmt.Fprintln(w, " log.Info(\"did not find time row\", name)")
+ fmt.Fprintln(w, " return false")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " for _, sf := range mt.timeFuncs {")
+ fmt.Fprintln(w, " if sf.title != name {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // log.Info(\"updateTimeFunc() has row len =\", len(mt.x."+FRUITS+"))")
+ fmt.Fprintln(w, " // log.Info(\"virtpb: starting\", name, found.Vals)")
+ fmt.Fprintln(w, " for i, _ := range found.Vals {")
+ fmt.Fprintln(w, " newt := sf.f(mt.x."+FRUITS+"[i])")
+ fmt.Fprintln(w, " found.Vals[i] = timestamppb.New(newt) // convert to protobuf time")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // log.Info(\"virtpb: ending\", name, found.Vals)")
+ fmt.Fprintln(w, " return true")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " return false")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "// END TABLE UPDATE")
+}