fix: resolve linting issues in roomba shell

Replace unnecessary fmt.Sprintf calls with string literals, use
slices.Contains instead of manual loop, and use compound assignment
operator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 22:18:25 +01:00
parent 9783ae5865
commit c74313c195

View File

@@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"io"
"slices"
"strings"
"time"
@@ -216,22 +217,22 @@ func (s *roombaState) cmdHelp() commandResult {
func (s *roombaState) cmdStatus() commandResult {
var b strings.Builder
b.WriteString("=== RoombaOS System Status ===\n")
b.WriteString(fmt.Sprintf("Model: iRobot Roomba j7+\n"))
b.WriteString("Model: iRobot Roomba j7+\n")
b.WriteString(fmt.Sprintf("Status: %s\n", s.status))
b.WriteString(fmt.Sprintf("Battery: %d%%\n", s.battery))
b.WriteString(fmt.Sprintf("Dustbin: %d%% full\n", s.dustbin))
b.WriteString(fmt.Sprintf("Side brush: OK (142 hrs)\n"))
b.WriteString(fmt.Sprintf("Main brush: OK (98 hrs)\n"))
b.WriteString("Side brush: OK (142 hrs)\n")
b.WriteString("Main brush: OK (98 hrs)\n")
b.WriteString("\n")
b.WriteString(fmt.Sprintf("WiFi: Connected (SmartHome-5G)\n"))
b.WriteString(fmt.Sprintf("Signal: -38 dBm\n"))
b.WriteString(fmt.Sprintf("Alexa: Linked\n"))
b.WriteString(fmt.Sprintf("Google Home: Linked\n"))
b.WriteString(fmt.Sprintf("iRobot Home App: Connected\n"))
b.WriteString("WiFi: Connected (SmartHome-5G)\n")
b.WriteString("Signal: -38 dBm\n")
b.WriteString("Alexa: Linked\n")
b.WriteString("Google Home: Linked\n")
b.WriteString("iRobot Home App: Connected\n")
b.WriteString("\n")
b.WriteString(fmt.Sprintf("Firmware: v4.3.7-stable\n"))
b.WriteString(fmt.Sprintf("LIDAR: Operational\n"))
b.WriteString(fmt.Sprintf("Clean Area Total: 12,847 sq ft (lifetime)"))
b.WriteString("Firmware: v4.3.7-stable\n")
b.WriteString("LIDAR: Operational\n")
b.WriteString("Clean Area Total: 12,847 sq ft (lifetime)")
return commandResult{output: b.String()}
}
@@ -349,14 +350,7 @@ func (s *roombaState) scheduleList() commandResult {
func (s *roombaState) scheduleAdd(day, t string) commandResult {
day = capitalizeFirst(strings.ToLower(day))
validDays := []string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
valid := false
for _, d := range validDays {
if d == day {
valid = true
break
}
}
if !valid {
if !slices.Contains(validDays, day) {
return commandResult{output: fmt.Sprintf("Invalid day '%s'. Use a day of the week (e.g. Monday, Tuesday).", day)}
}
@@ -459,7 +453,7 @@ func formatDuration(d time.Duration) string {
minutes := int(d.Minutes()) % 60
if hours >= 24 {
days := hours / 24
hours = hours % 24
hours %= 24
return fmt.Sprintf("%dd %dh", days, hours)
}
if hours > 0 {