Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit 9ffd12c

Browse files
authored
Merge pull request #64 from sam80180/main
fix: collect errors and print at the end
2 parents b424fa2 + fe891cc commit 9ffd12c

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

cmd/devices.go

+19-9
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ package cmd
2020
import (
2121
"encoding/json"
2222
"fmt"
23+
"os"
24+
2325
giDevice "github.com/SonicCloudOrg/sonic-gidevice"
2426
"github.com/SonicCloudOrg/sonic-ios-bridge/src/entity"
2527
"github.com/SonicCloudOrg/sonic-ios-bridge/src/util"
2628
"github.com/spf13/cobra"
27-
"os"
2829
)
2930

3031
var devicesCmd = &cobra.Command{
@@ -37,11 +38,12 @@ var devicesCmd = &cobra.Command{
3738
return util.NewErrorPrint(util.ErrConnect, "usbMux", err)
3839
}
3940
list, err1 := usbMuxClient.Devices()
40-
remoteList, err2 := util.ReadRemote()
41+
remoteList, errRemoto := util.ReadRemote()
4142

4243
if err1 != nil {
4344
return util.NewErrorPrint(util.ErrSendCommand, "listDevices", err1)
4445
}
46+
todosErrores := []error{}
4547
if len(list) != 0 || len(remoteList) != 0 {
4648
if len(list) == 0 {
4749
list = []giDevice.Device{}
@@ -53,25 +55,27 @@ var devicesCmd = &cobra.Command{
5355
if isDetail {
5456
detail, err2 := entity.GetDetail(d)
5557
if err2 != nil {
56-
return err2
58+
todosErrores = append(todosErrores, err2)
59+
} else {
60+
device.DeviceDetail = *detail
5761
}
58-
device.DeviceDetail = *detail
5962
}
6063
json.Unmarshal(deviceByte, device)
6164
device.Status = device.GetStatus()
6265
device.RemoteAddr = "localhost"
6366
deviceList.DeviceList = append(deviceList.DeviceList, *device)
6467
}
65-
if err2 == nil {
68+
if errRemoto == nil {
6669
for k, dev := range remoteList {
6770
deviceByte, _ := json.Marshal(dev.Properties())
6871
device := &entity.Device{}
6972
if isDetail {
7073
detail, err2 := entity.GetDetail(dev)
7174
if err2 != nil {
72-
return err2
75+
todosErrores = append(todosErrores, err2)
76+
} else {
77+
device.DeviceDetail = *detail
7378
}
74-
device.DeviceDetail = *detail
7579
}
7680
json.Unmarshal(deviceByte, device)
7781
device.Status = device.GetStatus()
@@ -93,9 +97,10 @@ var devicesCmd = &cobra.Command{
9397
if isDetail {
9498
detail, err2 := entity.GetDetail(d)
9599
if err2 != nil {
96-
return err2
100+
todosErrores = append(todosErrores, err2)
101+
} else {
102+
device.DeviceDetail = *detail
97103
}
98-
device.DeviceDetail = *detail
99104
}
100105
json.Unmarshal(deviceByte, device)
101106
device.Status = device.GetStatus()
@@ -114,6 +119,11 @@ var devicesCmd = &cobra.Command{
114119
os.Exit(0)
115120
}
116121
}
122+
if len(todosErrores) > 0 {
123+
for _, e := range todosErrores {
124+
fmt.Fprintf(os.Stderr, "%+v\n", e)
125+
}
126+
}
117127
return nil
118128
},
119129
}

cmd/listen.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@ package cmd
2020
import (
2121
"encoding/json"
2222
"fmt"
23+
"os"
24+
"os/signal"
25+
2326
giDevice "github.com/SonicCloudOrg/sonic-gidevice"
2427
"github.com/SonicCloudOrg/sonic-ios-bridge/src/entity"
2528
"github.com/SonicCloudOrg/sonic-ios-bridge/src/util"
2629
"github.com/spf13/cobra"
27-
"os"
28-
"os/signal"
2930
)
3031

3132
var listenCmd = &cobra.Command{
@@ -62,9 +63,10 @@ var listenCmd = &cobra.Command{
6263
if device.Status == "online" && isDetail {
6364
detail, err1 := entity.GetDetail(d)
6465
if err1 != nil {
65-
continue
66+
fmt.Fprintf(os.Stderr, "%+v\n", err1)
67+
} else {
68+
device.DeviceDetail = *detail
6669
}
67-
device.DeviceDetail = *detail
6870
}
6971
data := util.ResultData(device)
7072
fmt.Println(util.Format(data, isFormat, isDetail))

0 commit comments

Comments
 (0)