From: Sergey Matveev Date: Wed, 28 Oct 2020 10:00:19 +0000 (+0300) Subject: Use an updated recfile library writer capability X-Git-Tag: v0.10.0~1 X-Git-Url: http://www.git.stargrave.org/?p=sgblog.git;a=commitdiff_plain;h=a55108f6b815427023df6ef5a56ddd0b109244cc Use an updated recfile library writer capability --- diff --git a/cmd/sgblog-comment-add/main.go b/cmd/sgblog-comment-add/main.go index 2b977ae..ec8910e 100644 --- a/cmd/sgblog-comment-add/main.go +++ b/cmd/sgblog-comment-add/main.go @@ -36,6 +36,7 @@ import ( "syscall" "time" + "go.cypherpunks.ru/recfile" "go.stargrave.org/sgblog" ) @@ -142,15 +143,24 @@ func main() { note = bytes.TrimRight(note, "\r\n") buf := bytes.NewBuffer(note) - buf.WriteString(fmt.Sprintf( - "\n\nFrom: %s\nDate: %s\nBody:\n", - from, - time.Now().UTC().Format(sgblog.WhenFmt), - )) - for _, s := range cleanupBody(string(body)) { - buf.WriteString("+ ") - buf.WriteString(s) - buf.WriteString("\n") + recfileW := recfile.NewWriter(buf) + if _, err = recfileW.RecordStart(); err != nil { + log.Fatal(err) + } + // We trimmed newline, so have to start record twice + if _, err = recfileW.RecordStart(); err != nil { + log.Fatal(err) + } + if _, err = recfileW.WriteFields( + recfile.Field{"From", from}, + recfile.Field{"Date", time.Now().UTC().Format(sgblog.WhenFmt)}, + ); err != nil { + log.Fatal(err) + } + if _, err = recfileW.WriteFieldMultiline( + "Body", append([]string{""}, cleanupBody(string(body))...), + ); err != nil { + log.Fatal(err) } if *dryRun { diff --git a/go.mod b/go.mod index e9cd706..4333e45 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/go-git/go-git/v5 v5.1.0 github.com/hjson/hjson-go v3.0.1+incompatible github.com/imdario/mergo v0.3.11 // indirect - go.cypherpunks.ru/recfile v0.1.0 + go.cypherpunks.ru/recfile v0.2.0 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a golang.org/x/net v0.0.0-20200925080053-05aa5d4ee321 // indirect golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d // indirect diff --git a/go.sum b/go.sum index 757f0c6..a39ed4f 100644 --- a/go.sum +++ b/go.sum @@ -57,8 +57,8 @@ github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJy github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= -go.cypherpunks.ru/recfile v0.1.0 h1:JNtRwUpA6zXl/mJTBY3zK0ynmh3Dbp4dZb2zN+HUmnk= -go.cypherpunks.ru/recfile v0.1.0/go.mod h1:p1ZUMeyQQbQg+ICtKH3+Zt59QLI0tCZYZj/75Vp1buk= +go.cypherpunks.ru/recfile v0.2.0 h1:HXX2fUeJgnhLEJGshPcjqPGL+YIyqrD2kHI2qL8epwY= +go.cypherpunks.ru/recfile v0.2.0/go.mod h1:p1ZUMeyQQbQg+ICtKH3+Zt59QLI0tCZYZj/75Vp1buk= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=