aboutsummaryrefslogtreecommitdiff
path: root/spool/save.go
blob: b01dc7bd169e66cf0f83daadd0a56dae982e96bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package spool

import (
	"encoding/csv"
	"fmt"
	"os"
	"path"
)

// Save writes a spool on the disk
func (s *Spool) Save() (err error) {
	file, err := os.Create(path.Join(s.config.WorkDir(), spoolFile))
	if err != nil {
		return
	}
	defer file.Close()

	lines := make([][]string, len(s.jobs))
	var i int = 0
	for _, job := range s.jobs {
		lines[i] = make([]string, 2)
		lines[i][0] = job.Name
		lines[i][1] = fmt.Sprintf("%d", job.Timestamp)
		i++
	}
	err = csv.NewWriter(file).WriteAll(lines)
	return
}