From 86a015d6bff1bc3d688140c550051ecbf4dbed6b Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Mon, 18 Jul 2022 18:37:55 +0200 Subject: [PATCH] Correct field order in changes.csv (#228) --- cmd/csaf_aggregator/indices.go | 11 ++++++++--- cmd/csaf_checker/processor.go | 10 ++++++++-- cmd/csaf_provider/indices.go | 17 +++++++++++------ 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/cmd/csaf_aggregator/indices.go b/cmd/csaf_aggregator/indices.go index 9cc5a69..c4473f1 100644 --- a/cmd/csaf_aggregator/indices.go +++ b/cmd/csaf_aggregator/indices.go @@ -94,12 +94,17 @@ func (w *worker) writeCSV(label string, summaries []summary) error { record := make([]string, 2) + const ( + pathColumn = 0 + timeColumn = 1 + ) + for i := range ss { s := &ss[i] - record[0] = - s.summary.CurrentReleaseDate.Format(time.RFC3339) - record[1] = + record[pathColumn] = strconv.Itoa(s.summary.InitialReleaseDate.Year()) + "/" + s.filename + record[timeColumn] = + s.summary.CurrentReleaseDate.Format(time.RFC3339) if err := out.Write(record); err != nil { f.Close() return err diff --git a/cmd/csaf_checker/processor.go b/cmd/csaf_checker/processor.go index 11c73b0..aef123a 100644 --- a/cmd/csaf_checker/processor.go +++ b/cmd/csaf_checker/processor.go @@ -741,6 +741,10 @@ func (p *processor) checkChanges(base string, mask whereType) error { var times []time.Time var files []csaf.AdvisoryFile c := csv.NewReader(res.Body) + const ( + pathColumn = 0 + timeColumn = 1 + ) for { r, err := c.Read() if err == io.EOF { @@ -752,11 +756,13 @@ func (p *processor) checkChanges(base string, mask whereType) error { if len(r) < 2 { return nil, nil, errors.New("not enough columns") } - t, err := time.Parse(time.RFC3339, r[0]) + t, err := time.Parse(time.RFC3339, r[timeColumn]) if err != nil { return nil, nil, err } - times, files = append(times, t), append(files, csaf.PlainAdvisoryFile(r[1])) + times, files = + append(times, t), + append(files, csaf.PlainAdvisoryFile(r[pathColumn])) } return times, files, nil }() diff --git a/cmd/csaf_provider/indices.go b/cmd/csaf_provider/indices.go index c9ac116..4ecd534 100644 --- a/cmd/csaf_provider/indices.go +++ b/cmd/csaf_provider/indices.go @@ -74,6 +74,11 @@ func updateChanges(dir, fname string, releaseDate time.Time) error { path string } + const ( + pathColumn = 0 + timeColumn = 1 + ) + changes := filepath.Join(dir, "changes.csv") chs, err := func() ([]change, error) { @@ -99,9 +104,9 @@ func updateChanges(dir, fname string, releaseDate time.Time) error { return nil, err } // Check if new is already in. - if record[1] == fname { + if record[pathColumn] == fname { // Identical -> no change at all. - if record[0] == releaseDate.Format(dateFormat) { + if record[timeColumn] == releaseDate.Format(dateFormat) { return nil, nil } // replace old entry @@ -109,11 +114,11 @@ func updateChanges(dir, fname string, releaseDate time.Time) error { chs = append(chs, change{releaseDate, fname}) continue } - t, err := time.Parse(dateFormat, record[0]) + t, err := time.Parse(dateFormat, record[timeColumn]) if err != nil { return nil, err } - chs = append(chs, change{t, record[1]}) + chs = append(chs, change{t, record[pathColumn]}) } if !replaced { chs = append(chs, change{releaseDate, fname}) @@ -139,8 +144,8 @@ func updateChanges(dir, fname string, releaseDate time.Time) error { c := csv.NewWriter(o) record := make([]string, 2) for _, ch := range chs { - record[0] = ch.time.Format(dateFormat) - record[1] = ch.path + record[timeColumn] = ch.time.Format(dateFormat) + record[pathColumn] = ch.path if err := c.Write(record); err != nil { o.Close() return err