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