aboutsummaryrefslogtreecommitdiff
path: root/zhead/header.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-17 02:24:40 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-17 02:24:40 +0200
commite053973af61ce8671185a4f3e8784f134e0acbc6 (patch)
tree6a81ca839f939231bc1d578357ed4b8c37a56075 /zhead/header.go
parent8317dc165124fe8894858a33e8621016240dc7ca (diff)
Remove template
Diffstat (limited to 'zhead/header.go')
-rw-r--r--zhead/header.go33
1 files changed, 12 insertions, 21 deletions
diff --git a/zhead/header.go b/zhead/header.go
index bb4f1cb..2acad84 100644
--- a/zhead/header.go
+++ b/zhead/header.go
@@ -2,25 +2,15 @@ package zhead
import (
"bufio"
- "bytes"
"encoding/hex"
"errors"
+ "fmt"
"io"
"strconv"
"strings"
- "text/template"
"time"
)
-const header = `{{define "header" -}}
-date={{.Date.Format "2006-01-02T15:04:05Z07:00"}}
-key={{.KeyFile}}
-algorithm={{.Alg}}
-blocksize={{.BlockSize}}
-
-{{range .Sums}}{{printf "%x" .}}
-{{end}}{{end}}`
-
type Header struct {
Date time.Time
KeyFile string
@@ -34,14 +24,16 @@ const (
DefaultBlockSize = 65535
)
-func (h Header) Print() ([]byte, error) {
- t, err := template.New("header").Parse(header)
- if err != nil {
- return nil, err
+func (h Header) Print(w io.Writer) error {
+ fmt.Fprintf(w, "date=%v\n", h.Date.Format("2006-01-02T15:04:05Z07:00"))
+ fmt.Fprintf(w, "key=%v\n", h.KeyFile)
+ fmt.Fprintf(w, "algorithm=%v\n", h.Alg)
+ fmt.Fprintf(w, "blocksize=%v\n", h.BlockSize)
+ fmt.Fprintf(w, "\n")
+ for _, sum := range h.Sums {
+ fmt.Fprintf(w, "%x\n", sum)
}
- buf := new(bytes.Buffer)
- err = t.ExecuteTemplate(buf, "header", h)
- return buf.Bytes(), err
+ return nil
}
func Parse(r io.Reader) (Header, error) {
@@ -72,15 +64,14 @@ func Parse(r io.Reader) (Header, error) {
return Header{}, errors.New("already in sum part")
}
inSum = true
+ continue
}
if inSum {
sum, err := hex.DecodeString(line)
if err != nil {
return Header{}, err
}
- if len(sum) > 0 {
- h.Sums = append(h.Sums, sum)
- }
+ h.Sums = append(h.Sums, sum)
}
}
return h, scanner.Err()