Files

39 lines
825 B
Go

package robot
import (
"fmt"
"strconv"
)
// parseLifespanImpl implements LifespanParser.
func LifespanParserHook(td string, attrs map[string]string) (LifespanData, error) {
target := ""
switch attrs["type"] {
case "SideBrush":
target = "side_brush"
case "Brush":
target = "main_brush"
case "DustCaseHeap":
target = "filter"
default:
return LifespanData{}, fmt.Errorf("unknown lifespan type %q", attrs["type"])
}
valStr := attrs["val"]
totalStr := attrs["total"]
val, err := strconv.Atoi(valStr)
if err != nil {
return LifespanData{}, fmt.Errorf("invalid lifespan val %q", valStr)
}
total, err := strconv.Atoi(totalStr)
if err != nil {
return LifespanData{}, fmt.Errorf("invalid lifespan total %q", totalStr)
}
return LifespanData{
Target: target,
Val: val,
Total: total,
}, nil
}