66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
package forgepb
|
|
|
|
// functions to import and export the protobuf
|
|
// data to and from config files
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
"time"
|
|
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
func (f *Forge) SendPatchSet(pset *Patchset) error {
|
|
var err error
|
|
data, err := pset.Marshal()
|
|
if err != nil {
|
|
log.Info("proto.Marshal() pset(len) error", len(data), err)
|
|
return err
|
|
}
|
|
now := time.Now()
|
|
timestamp := now.Format("2006.01.02.150405") // bummer. other date doesn't work?
|
|
cfgfile := "patchset/patchset." + timestamp + ".pb"
|
|
log.Info("proto.Marshal() pset(len)", len(data))
|
|
configWrite(cfgfile, data)
|
|
|
|
return errors.New("don't know how to send yet")
|
|
}
|
|
|
|
func (f *Forge) SubmitDevelPatchSet(name string) (*Patchset, error) {
|
|
pset, err := f.MakeDevelPatchSet(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if err := f.submitPatchset(pset); err != nil {
|
|
return nil, err
|
|
}
|
|
return pset, nil
|
|
}
|
|
|
|
func (f *Forge) submitPatchset(pset *Patchset) error {
|
|
var url string
|
|
url = forgeURL + "patchset"
|
|
msg, err := pset.Marshal()
|
|
if err != nil {
|
|
log.Info("proto.Marshal() failed:", err)
|
|
return err
|
|
}
|
|
log.Info("proto.Marshal() msg len", len(msg))
|
|
body, err := f.HttpPost(url, msg)
|
|
if err != nil {
|
|
log.Info("httpPost() failed:", err)
|
|
return err
|
|
}
|
|
|
|
test := strings.TrimSpace(string(body))
|
|
lines := strings.Split(test, "\n")
|
|
count := 0
|
|
for _, line := range lines {
|
|
log.Info("got back:", line)
|
|
count += 1
|
|
}
|
|
log.Info("Total patches:", count)
|
|
return nil
|
|
}
|