31 lines
462 B
Go
31 lines
462 B
Go
package main
|
|
|
|
import (
|
|
"regexp"
|
|
"log"
|
|
"reflect"
|
|
)
|
|
|
|
var (
|
|
variableRegexp = regexp.MustCompile("(.*?):\\s*(.*)")
|
|
)
|
|
|
|
type Package struct {
|
|
Package string
|
|
Version string
|
|
}
|
|
|
|
func parsePackageData(ctlData string) (*Package, error) {
|
|
res := &Package{}
|
|
|
|
for _, match := range variableRegexp.FindAllStringSubmatch(ctlData, -1) {
|
|
switch match[1] {
|
|
case "Package":
|
|
res.Package = match[2]
|
|
case "Version":
|
|
res.Version = match[2]
|
|
}
|
|
}
|
|
|
|
return res, nil
|
|
} |