in cmd/csv2cpe/csv2cpe.go [163:214]
func (acm *AttributeColumnMap) CPE(cols []string, lower, na bool) (string, error) {
var err error
var attr *wfn.Attributes
if na {
attr = wfn.NewAttributesWithNA()
} else {
attr = wfn.NewAttributesWithAny()
}
m := map[int]*string{
acm.Part: &attr.Part,
acm.Vendor: &attr.Vendor,
acm.Product: &attr.Product,
acm.Version: &attr.Version,
acm.Update: &attr.Update,
acm.Edition: &attr.Edition,
acm.SWEdition: &attr.SWEdition,
acm.TargetSW: &attr.TargetSW,
acm.TargetHW: &attr.TargetHW,
acm.Other: &attr.Other,
acm.Language: &attr.Language,
}
delete(m, 0)
for i, v := range m {
j := i - 1
if j >= len(cols) {
continue
}
col := cols[j]
if lower {
col = strings.ToLower(col)
}
if i == acm.Version {
for strings.HasSuffix(col, ".") {
col = strings.TrimSuffix(col, ".")
}
}
*v, err = wfn.WFNize(col)
if err != nil {
return "", err
}
}
return attr.BindToURI(), nil
}