Skip to content

Commit 3a05de7

Browse files
committed
Better ouput formatting based on format output
1 parent bfc50ab commit 3a05de7

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

command/ota/readheader.go

+1-19
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,12 @@ import (
2323

2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/internal/ota"
26-
"gopkg.in/yaml.v3"
2726
)
2827

2928
type ReadHeaderParams struct {
3029
File string
3130
}
3231

33-
type printableHeader struct {
34-
CRC32 uint32
35-
MagicNumber uint32
36-
BoardType string
37-
FQBN *string
38-
VID string
39-
PID string
40-
}
41-
4232
// Encode command is used to encode a firmware OTA
4333
func ReadHeader(params *ReadHeaderParams) error {
4434
_, err := os.Stat(params.File)
@@ -55,15 +45,7 @@ func ReadHeader(params *ReadHeaderParams) error {
5545
return fmt.Errorf("file %s does not contains a valid OTA header", params.File)
5646
}
5747

58-
out, _ := yaml.Marshal(printableHeader{
59-
CRC32: header.CRC32,
60-
MagicNumber: header.MagicNumber,
61-
BoardType: header.BoardType,
62-
FQBN: header.FQBN,
63-
VID: header.VID,
64-
PID: header.PID,
65-
})
66-
feedback.Print(string(out))
48+
feedback.PrintResult(header)
6749

6850
return nil
6951
}

internal/ota/decoder.go

+27
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"strconv"
3030
"strings"
3131

32+
"github.com/arduino/arduino-cli/table"
3233
"github.com/arduino/arduino-cloud-cli/internal/lzss"
3334
)
3435

@@ -93,6 +94,32 @@ type OtaMetadata struct {
9394
OtaSHA256 string // SHA256 of the whole file (header + payload).
9495
}
9596

97+
func (r OtaMetadata) Data() interface{} {
98+
return r
99+
}
100+
101+
func (r OtaMetadata) String() string {
102+
t := table.New()
103+
104+
t.SetHeader("Entry", "Value")
105+
106+
t.AddRow([]interface{}{"Length", fmt.Sprintf("%d bytes", r.Length)}...)
107+
t.AddRow([]interface{}{"CRC32", fmt.Sprintf("%d", r.CRC32)}...)
108+
t.AddRow([]interface{}{"Magic Number", fmt.Sprintf("0x%08X", r.MagicNumber)}...)
109+
t.AddRow([]interface{}{"Board Type", r.BoardType}...)
110+
if r.FQBN != nil {
111+
t.AddRow([]interface{}{"FQBN", *r.FQBN}...)
112+
}
113+
t.AddRow([]interface{}{"VID", r.VID}...)
114+
t.AddRow([]interface{}{"PID", r.PID}...)
115+
t.AddRow([]interface{}{"Is Arduino Board", strconv.FormatBool(r.IsArduinoBoard)}...)
116+
t.AddRow([]interface{}{"Compressed", strconv.FormatBool(r.Compressed)}...)
117+
t.AddRow([]interface{}{"Payload SHA256", r.PayloadSHA256}...)
118+
t.AddRow([]interface{}{"OTA SHA256", r.OtaSHA256}...)
119+
120+
return t.Render()
121+
}
122+
96123
// Read header starting from the first byte of the file
97124
func readHeader(file OtaFileReader) ([]byte, error) {
98125
bytes := make([]byte, HeaderSize)

0 commit comments

Comments
 (0)