in internal/guestcollector/linux_guestcollector.go [409:426]
func (c *LinuxCollector) findLshwFieldInt(lshwResult string, field string) (int, error) {
// expression := fmt.Sprintf(`"%s" : (\d+?)[\D]`, field)
// reg := regexp.MustCompile(expression)
reg, ok := c.lshwRegexMapping[field]
if !ok {
return 0, fmt.Errorf("regexp did not find %s field", field)
}
match := reg.FindStringSubmatch(lshwResult)
if len(match) <= 1 {
return 0, fmt.Errorf("regexp did not find %s field", field)
}
result, err := strconv.Atoi(match[1])
if err != nil {
return 0, fmt.Errorf("unable to convert %s from string to int: error %v", field, err)
}
return result, nil
}