aboutsummaryrefslogtreecommitdiff
path: root/spool/save.go
blob: f25b86a85a5e3ff9eb53cf4ee859ebee60a3a14f (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/filepath"
)

// Save writes a spool on the disk
func (s *Spool) Save() (err error) {
	file, err := os.Create(filepath.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
}