summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doGetPatchsets.go (renamed from post.go)30
-rw-r--r--windowPatches.go35
2 files changed, 57 insertions, 8 deletions
diff --git a/post.go b/doGetPatchsets.go
index e0a7c4a..18db441 100644
--- a/post.go
+++ b/doGetPatchsets.go
@@ -1,3 +1,5 @@
+// Copyright 2024 WIT.COM Inc Licensed GPL 3.0
+
package main
import (
@@ -7,9 +9,37 @@ import (
"os"
"os/user"
+ "go.wit.com/lib/protobuf/forgepb"
"go.wit.com/log"
)
+var forgeURL string = "https://go.wit.com/"
+
+func GetPatchesets() (*forgepb.Patchsets, error) {
+ url := forgeURL + "/GetPatchsets"
+ log.Info("GetPatchsets() url", url)
+ body, err := httpPost(url, nil)
+ if err != nil {
+ log.Info("httpPost() failed:", err)
+ return nil, err
+ }
+ log.Info("GetPatchets() len(body)", len(body))
+ var psets *forgepb.Patchsets
+ psets = new(forgepb.Patchsets)
+ err = psets.Unmarshal(body)
+ if err != nil {
+ log.Info("Unmarshal failed", err)
+ return nil, err
+ }
+ /*
+ filename := filepath.Join("/tmp", pbfile)
+ f, _ := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
+ f.Write(body)
+ f.Close()
+ */
+ return psets, nil
+}
+
func httpPost(url string, data []byte) ([]byte, error) {
var err error
var req *http.Request
diff --git a/windowPatches.go b/windowPatches.go
index cab0323..907a796 100644
--- a/windowPatches.go
+++ b/windowPatches.go
@@ -10,14 +10,12 @@ import (
)
type patchesWindow struct {
- once sync.Once
- win *gadgets.BasicWindow
- stack *gui.Node
-
- // the top box of the repolist window
- shelf *gui.Node
-
- summary *patchSummary
+ once sync.Once // only init() the window once
+ win *gadgets.BasicWindow // the patches window
+ stack *gui.Node // the top box set as vertical
+ shelf *gui.Node // the first box in the stack, set as horizontal
+ grid *gui.Node // the list of available patches
+ summary *patchSummary // summary of current patches
}
func (r *patchesWindow) Hidden() bool {
@@ -62,6 +60,8 @@ func (r *patchesWindow) initWindow() {
r.win.Hide()
}
+ r.grid = r.stack.NewGrid("", 0, 0)
+
r.shelf = r.initGroup()
r.summary = submitPatchesBox(r.stack)
}
@@ -90,5 +90,24 @@ func (r *patchesWindow) initGroup() *gui.Node {
me.patchWin.initGroup()
})
+ hbox.NewButton("Get Patchsets", func() {
+ // if psets, err := me.forge.GetPatchesets(); err != nil {
+ psets, err := GetPatchesets()
+ if err != nil {
+ log.Info(err)
+ return
+ }
+ all := psets.All()
+ for all.Scan() {
+ pset := all.Next()
+ log.Info(pset)
+ }
+ /*
+ if err := listPatches(); err != nil {
+ log.Info(err)
+ }
+ */
+ })
+
return vbox
}