apply go tools cleanup
This commit is contained in:
34
db/db.go
34
db/db.go
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user