@@ -20,11 +20,12 @@ package cmd
20
20
import (
21
21
"encoding/json"
22
22
"fmt"
23
+ "os"
24
+
23
25
giDevice "github.com/SonicCloudOrg/sonic-gidevice"
24
26
"github.com/SonicCloudOrg/sonic-ios-bridge/src/entity"
25
27
"github.com/SonicCloudOrg/sonic-ios-bridge/src/util"
26
28
"github.com/spf13/cobra"
27
- "os"
28
29
)
29
30
30
31
var devicesCmd = & cobra.Command {
@@ -37,11 +38,12 @@ var devicesCmd = &cobra.Command{
37
38
return util .NewErrorPrint (util .ErrConnect , "usbMux" , err )
38
39
}
39
40
list , err1 := usbMuxClient .Devices ()
40
- remoteList , err2 := util .ReadRemote ()
41
+ remoteList , errRemoto := util .ReadRemote ()
41
42
42
43
if err1 != nil {
43
44
return util .NewErrorPrint (util .ErrSendCommand , "listDevices" , err1 )
44
45
}
46
+ todosErrores := []error {}
45
47
if len (list ) != 0 || len (remoteList ) != 0 {
46
48
if len (list ) == 0 {
47
49
list = []giDevice.Device {}
@@ -53,25 +55,27 @@ var devicesCmd = &cobra.Command{
53
55
if isDetail {
54
56
detail , err2 := entity .GetDetail (d )
55
57
if err2 != nil {
56
- return err2
58
+ todosErrores = append (todosErrores , err2 )
59
+ } else {
60
+ device .DeviceDetail = * detail
57
61
}
58
- device .DeviceDetail = * detail
59
62
}
60
63
json .Unmarshal (deviceByte , device )
61
64
device .Status = device .GetStatus ()
62
65
device .RemoteAddr = "localhost"
63
66
deviceList .DeviceList = append (deviceList .DeviceList , * device )
64
67
}
65
- if err2 == nil {
68
+ if errRemoto == nil {
66
69
for k , dev := range remoteList {
67
70
deviceByte , _ := json .Marshal (dev .Properties ())
68
71
device := & entity.Device {}
69
72
if isDetail {
70
73
detail , err2 := entity .GetDetail (dev )
71
74
if err2 != nil {
72
- return err2
75
+ todosErrores = append (todosErrores , err2 )
76
+ } else {
77
+ device .DeviceDetail = * detail
73
78
}
74
- device .DeviceDetail = * detail
75
79
}
76
80
json .Unmarshal (deviceByte , device )
77
81
device .Status = device .GetStatus ()
@@ -93,9 +97,10 @@ var devicesCmd = &cobra.Command{
93
97
if isDetail {
94
98
detail , err2 := entity .GetDetail (d )
95
99
if err2 != nil {
96
- return err2
100
+ todosErrores = append (todosErrores , err2 )
101
+ } else {
102
+ device .DeviceDetail = * detail
97
103
}
98
- device .DeviceDetail = * detail
99
104
}
100
105
json .Unmarshal (deviceByte , device )
101
106
device .Status = device .GetStatus ()
@@ -114,6 +119,11 @@ var devicesCmd = &cobra.Command{
114
119
os .Exit (0 )
115
120
}
116
121
}
122
+ if len (todosErrores ) > 0 {
123
+ for _ , e := range todosErrores {
124
+ fmt .Fprintf (os .Stderr , "%+v\n " , e )
125
+ }
126
+ }
117
127
return nil
118
128
},
119
129
}
0 commit comments