From c8ed5cc86adee38b0455a630fa7cd557dee0dfb3 Mon Sep 17 00:00:00 2001 From: Jean-Marc Meessen Date: Thu, 16 Jul 2020 17:22:12 +0200 Subject: [PATCH] Added missing elements to CSV output --- cmd/FLEcli_version.go | 2 +- cmd/csv_write.go | 24 +++++++++++++++++------- cmd/csv_write_test.go | 5 +++-- cmd/validate.go | 30 +++++++++++++++--------------- cmd/validate_test.go | 4 ++-- 5 files changed, 38 insertions(+), 27 deletions(-) diff --git a/cmd/FLEcli_version.go b/cmd/FLEcli_version.go index ac2ccdd..ba53bfb 100644 --- a/cmd/FLEcli_version.go +++ b/cmd/FLEcli_version.go @@ -1,4 +1,4 @@ package cmd //VersionString is the version that will be displayed with the -v switch -const VersionString = "v0.0.0.0-8-gda680bc (2020-07-15)" +const VersionString = "v0.0.0.0-12-geec547e (2020-07-16)" diff --git a/cmd/csv_write.go b/cmd/csv_write.go index caefab3..04b3a6c 100644 --- a/cmd/csv_write.go +++ b/cmd/csv_write.go @@ -42,15 +42,25 @@ func buildCsv(fullLog []LogLine) (csvList []string) { for _, logLine := range fullLog { var csvLine strings.Builder csvLine.WriteString("V2,") - csvLine.WriteString(fmt.Sprintf("%s,", logLine.MyCall)) - csvLine.WriteString(fmt.Sprintf("%s,", logLine.MySOTA)) - csvLine.WriteString(fmt.Sprintf("%s,", csvDate(logLine.Date))) - csvLine.WriteString(fmt.Sprintf("%s,", logLine.Time)) + csvLine.WriteString(fmt.Sprintf("%s", logLine.MyCall)) + csvLine.WriteString(fmt.Sprintf(",%s", logLine.MySOTA)) + csvLine.WriteString(fmt.Sprintf(",%s", csvDate(logLine.Date))) + csvLine.WriteString(fmt.Sprintf(",%s", logLine.Time)) //TODO: Should we test the result _, _, _, sotaBand := IsBand(logLine.Band) - csvLine.WriteString(fmt.Sprintf("%s,",sotaBand )) - csvLine.WriteString(fmt.Sprintf("%s,",logLine.Mode)) - csvLine.WriteString(fmt.Sprintf("%s", logLine.Call)) + csvLine.WriteString(fmt.Sprintf(",%s",sotaBand )) + csvLine.WriteString(fmt.Sprintf(",%s",logLine.Mode)) + csvLine.WriteString(fmt.Sprintf(",%s", logLine.Call)) + if logLine.SOTA != "" { + csvLine.WriteString(fmt.Sprintf(",%s", logLine.SOTA)) + } else { + if logLine.Comment != "" { + csvLine.WriteString(",") + } + } + if logLine.Comment != "" { + csvLine.WriteString(fmt.Sprintf(",%s", logLine.Comment)) + } csvList = append(csvList, csvLine.String()) } diff --git a/cmd/csv_write_test.go b/cmd/csv_write_test.go index bfb7b1f..4055362 100644 --- a/cmd/csv_write_test.go +++ b/cmd/csv_write_test.go @@ -34,10 +34,11 @@ func Test_buildCsv(t *testing.T) { {MyCall: "ON4KJM/P", Call: "S57LC", Date: "2020-05-24", Time: "1310", Band: "20m", Frequency: "14.045", Mode: "CW", RSTsent: "599", RSTrcvd: "599", MySOTA: "ON/ON-001", Operator: "ON4KJM", Nickname: "ONFF-0259-1"}, {MyCall: "ON4KJM/P", Call: "ON4LY", Date: "2020-05-24", Time: "1312", Band: "20m", Mode: "CW", RSTsent: "559", RSTrcvd: "599", MySOTA: "ON/ON-001", Operator: "ON4KJM"}, } + //add case with no SOTA and with or no comment expectedOutput1 := []string{ - "V2,ON4KJM/P,ON/ON-001,24/05/20,1310,14Mhz,CW,S57LC", - "V2,ON4KJM/P,ON/ON-001,24/05/20,1312,14Mhz,CW,ON4LY", + "V2,ON4KJM/P,ON/ON-001,24/05/20,1310,14MHz,CW,S57LC", + "V2,ON4KJM/P,ON/ON-001,24/05/20,1312,14MHz,CW,ON4LY", } type args struct { diff --git a/cmd/validate.go b/cmd/validate.go index 5acdf88..c95a2f1 100644 --- a/cmd/validate.go +++ b/cmd/validate.go @@ -122,35 +122,35 @@ func IsBand(inputStr string) (result bool, lowerLimit, upperLimit float64, altBa case "560m": return true, 0.501, 0.504, "tbd" case "160m": - return true, 1.8, 2.0, "1.8Mhz" + return true, 1.8, 2.0, "1.8MHz" case "80m": - return true, 3.5, 4.0, "3.5Mhz" + return true, 3.5, 4.0, "3.5MHz" case "60m": - return true, 5.06, 5.45, "5Mhz" + return true, 5.06, 5.45, "5MHz" case "40m": - return true, 7.0, 7.3, "7Mhz" + return true, 7.0, 7.3, "7MHz" case "30m": - return true, 10.1, 10.15, "10Mhz" + return true, 10.1, 10.15, "10MHz" case "20m": - return true, 14.0, 14.35, "14Mhz" + return true, 14.0, 14.35, "14MHz" case "17m": - return true, 18.068, 18.168, "18Mhz" + return true, 18.068, 18.168, "18MHz" case "15m": - return true, 21.0, 21.45, "21Mhz" + return true, 21.0, 21.45, "21MHz" case "12m": - return true, 24.890, 24.99, "24Mhz" + return true, 24.890, 24.99, "24MHz" case "10m": - return true, 28.0, 29.7, "28Mhz" + return true, 28.0, 29.7, "28MHz" case "6m": - return true, 50, 54, "50Mhz" + return true, 50, 54, "50MHz" case "4m": - return true, 70, 71, "70Mhz" + return true, 70, 71, "70MHz" case "2m": - return true, 144, 148, "144Mhz" + return true, 144, 148, "144MHz" case "1.25m": - return true, 222, 225, "222Mhz" + return true, 222, 225, "222MHz" case "70cm": - return true, 420, 450, "432Mhz" + return true, 420, 450, "432MHz" case "33cm": return true, 902, 928, "tbd" case "23cm": diff --git a/cmd/validate_test.go b/cmd/validate_test.go index 5b7b028..a6cba3e 100644 --- a/cmd/validate_test.go +++ b/cmd/validate_test.go @@ -288,12 +288,12 @@ func TestIsBand(t *testing.T) { { "valid band", args{inputStr: "40m"}, - true, 7.0, 7.3, "7Mhz", + true, 7.0, 7.3, "7MHz", }, { "valid band but uppercase", args{inputStr: "40M"}, - true, 7.0, 7.3,"7Mhz", + true, 7.0, 7.3,"7MHz", }, } for _, tt := range tests {