apply go tools cleanup

This commit is contained in:
2022-06-21 21:32:16 -04:00
parent a61be99d03
commit f1accd3006
7 changed files with 69 additions and 37 deletions

View File

@ -23,11 +23,11 @@ type Status string
const (
Sent Status = "SENT"
Filtered = "FILTERED"
Error = "ERROR"
Filtered Status = "FILTERED"
Error Status = "ERROR"
)
//default format used by yaml.Marshal
// TimeFormat used by yaml.Marshal
const TimeFormat string = "2006-01-02T15:04:05.999999999-07:00"
type Record struct {
@ -66,7 +66,13 @@ func NewDB(storageDir, feedName string) (DB, error) {
}
return nil, err
}
defer f.Close()
defer func() {
err := f.Close()
if err != nil {
log.Error(err, "f.Close() failed")
return
}
}()
reader := csv.NewReader(f)
records, err := reader.ReadAll()
if err != nil {
@ -74,7 +80,7 @@ func NewDB(storageDir, feedName string) (DB, error) {
return nil, err
}
for _, rec := range records {
var recStatus Status = Status(rec[2])
recStatus := Status(rec[2])
if recStatus == Sent || recStatus == Filtered {
db.seenLinks[rec[1]] = struct{}{}
}
@ -102,28 +108,40 @@ func (d *db) Save(records []Record) error {
if err != nil {
return err
}
defer f.Close()
defer func() {
err := f.Close()
if err != nil {
log.Error(err, "f.Close() failed")
return
}
}()
csvw := csv.NewWriter(f)
defer csvw.Flush()
if d.IsNewFeed() {
csvw.Write([]string{
err := csvw.Write([]string{
/* 1 */ "Date",
/* 2 */ "Link",
/* 3 */ "Status",
/* 4 */ "Filter",
/* 5 */ "Content",
})
if err != nil {
return err
}
}
for _, r := range records {
csvw.Write([]string{
err := csvw.Write([]string{
/* 1 */ r.Time.Format(TimeFormat),
/* 2 */ r.FeedEntry.Link,
/* 3 */ string(r.Status),
/* 4 */ r.Filter,
/* 5 */ fmt.Sprintf("<item>%s</item>", strings.ReplaceAll(r.FeedEntry.Content, "\n", " ")),
})
if err != nil {
return err
}
}
return nil
}