46 lines
814 B
Go
46 lines
814 B
Go
package main
|
|
|
|
import(
|
|
"fmt"
|
|
"strconv"
|
|
)
|
|
|
|
type packages struct{
|
|
Id string
|
|
Name string
|
|
Version string
|
|
ExtraCommand *string
|
|
Tag string
|
|
Warning bool
|
|
Element *elements
|
|
}
|
|
func ConvertStringsToPackage(strs []string) (packages, error) {
|
|
var pkg packages
|
|
if len(strs) != 6 {
|
|
return pkg, fmt.Errorf("input slice must have exactly 6 elements")
|
|
}
|
|
|
|
warning, err := strconv.ParseBool(strs[5])
|
|
if err != nil {
|
|
return pkg, fmt.Errorf("error parsing Warning value: %s", err)
|
|
}
|
|
|
|
return packages{
|
|
Id: strs[0],
|
|
Name: strs[1],
|
|
Version: strs[2],
|
|
ExtraCommand: &strs[3],
|
|
Tag: strs[4],
|
|
Warning: warning,
|
|
}, nil
|
|
}
|
|
type elements struct {
|
|
Title string
|
|
Header string
|
|
Help string
|
|
Packagename string
|
|
Packageversion string
|
|
Allow string
|
|
Warning string
|
|
Explain string
|
|
} |