1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 18:15:42 +01:00

Correct field order in changes.csv (#228)

This commit is contained in:
Sascha L. Teichmann 2022-07-18 18:37:55 +02:00 committed by GitHub
parent 8e18b6f36f
commit 86a015d6bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 11 deletions

View file

@ -94,12 +94,17 @@ func (w *worker) writeCSV(label string, summaries []summary) error {
record := make([]string, 2) record := make([]string, 2)
const (
pathColumn = 0
timeColumn = 1
)
for i := range ss { for i := range ss {
s := &ss[i] s := &ss[i]
record[0] = record[pathColumn] =
s.summary.CurrentReleaseDate.Format(time.RFC3339)
record[1] =
strconv.Itoa(s.summary.InitialReleaseDate.Year()) + "/" + s.filename strconv.Itoa(s.summary.InitialReleaseDate.Year()) + "/" + s.filename
record[timeColumn] =
s.summary.CurrentReleaseDate.Format(time.RFC3339)
if err := out.Write(record); err != nil { if err := out.Write(record); err != nil {
f.Close() f.Close()
return err return err

View file

@ -741,6 +741,10 @@ func (p *processor) checkChanges(base string, mask whereType) error {
var times []time.Time var times []time.Time
var files []csaf.AdvisoryFile var files []csaf.AdvisoryFile
c := csv.NewReader(res.Body) c := csv.NewReader(res.Body)
const (
pathColumn = 0
timeColumn = 1
)
for { for {
r, err := c.Read() r, err := c.Read()
if err == io.EOF { if err == io.EOF {
@ -752,11 +756,13 @@ func (p *processor) checkChanges(base string, mask whereType) error {
if len(r) < 2 { if len(r) < 2 {
return nil, nil, errors.New("not enough columns") 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 { if err != nil {
return nil, nil, err 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 return times, files, nil
}() }()

View file

@ -74,6 +74,11 @@ func updateChanges(dir, fname string, releaseDate time.Time) error {
path string path string
} }
const (
pathColumn = 0
timeColumn = 1
)
changes := filepath.Join(dir, "changes.csv") changes := filepath.Join(dir, "changes.csv")
chs, err := func() ([]change, error) { chs, err := func() ([]change, error) {
@ -99,9 +104,9 @@ func updateChanges(dir, fname string, releaseDate time.Time) error {
return nil, err return nil, err
} }
// Check if new is already in. // Check if new is already in.
if record[1] == fname { if record[pathColumn] == fname {
// Identical -> no change at all. // Identical -> no change at all.
if record[0] == releaseDate.Format(dateFormat) { if record[timeColumn] == releaseDate.Format(dateFormat) {
return nil, nil return nil, nil
} }
// replace old entry // replace old entry
@ -109,11 +114,11 @@ func updateChanges(dir, fname string, releaseDate time.Time) error {
chs = append(chs, change{releaseDate, fname}) chs = append(chs, change{releaseDate, fname})
continue continue
} }
t, err := time.Parse(dateFormat, record[0]) t, err := time.Parse(dateFormat, record[timeColumn])
if err != nil { if err != nil {
return nil, err return nil, err
} }
chs = append(chs, change{t, record[1]}) chs = append(chs, change{t, record[pathColumn]})
} }
if !replaced { if !replaced {
chs = append(chs, change{releaseDate, fname}) chs = append(chs, change{releaseDate, fname})
@ -139,8 +144,8 @@ func updateChanges(dir, fname string, releaseDate time.Time) error {
c := csv.NewWriter(o) c := csv.NewWriter(o)
record := make([]string, 2) record := make([]string, 2)
for _, ch := range chs { for _, ch := range chs {
record[0] = ch.time.Format(dateFormat) record[timeColumn] = ch.time.Format(dateFormat)
record[1] = ch.path record[pathColumn] = ch.path
if err := c.Write(record); err != nil { if err := c.Write(record); err != nil {
o.Close() o.Close()
return err return err