From 0bf476bd41e4900cde66aacaecfdead4719fc79f Mon Sep 17 00:00:00 2001 From: Igor Chubin Date: Fri, 23 Dec 2022 16:35:30 +0100 Subject: [PATCH] Run gofumpt for view/v1 --- internal/view/v1/cmd.go | 2 +- internal/view/v1/format.go | 46 +++++++++++++++--------------- internal/view/v1/icons.go | 57 +++++++++++++++++++++++++------------- internal/view/v1/locale.go | 26 ++++++++--------- internal/view/v1/view1.go | 10 +++---- srv.go | 4 +-- 6 files changed, 81 insertions(+), 64 deletions(-) diff --git a/internal/view/v1/cmd.go b/internal/view/v1/cmd.go index 29a0526..d9008e0 100644 --- a/internal/view/v1/cmd.go +++ b/internal/view/v1/cmd.go @@ -58,7 +58,7 @@ func configload() error { func configsave() error { j, err := json.MarshalIndent(config, "", "\t") if err == nil { - return ioutil.WriteFile(configpath, j, 0600) + return ioutil.WriteFile(configpath, j, 0o600) } return err } diff --git a/internal/view/v1/format.go b/internal/view/v1/format.go index a3544d8..3636e2a 100644 --- a/internal/view/v1/format.go +++ b/internal/view/v1/format.go @@ -8,30 +8,28 @@ import ( "github.com/mattn/go-runewidth" ) -var ( - windDir = map[string]string{ - "N": "\033[1m↓\033[0m", - "NNE": "\033[1m↓\033[0m", - "NE": "\033[1m↙\033[0m", - "ENE": "\033[1m↙\033[0m", - "E": "\033[1m←\033[0m", - "ESE": "\033[1m←\033[0m", - "SE": "\033[1m↖\033[0m", - "SSE": "\033[1m↖\033[0m", - "S": "\033[1m↑\033[0m", - "SSW": "\033[1m↑\033[0m", - "SW": "\033[1m↗\033[0m", - "WSW": "\033[1m↗\033[0m", - "W": "\033[1m→\033[0m", - "WNW": "\033[1m→\033[0m", - "NW": "\033[1m↘\033[0m", - "NNW": "\033[1m↘\033[0m", - } -) +var windDir = map[string]string{ + "N": "\033[1m↓\033[0m", + "NNE": "\033[1m↓\033[0m", + "NE": "\033[1m↙\033[0m", + "ENE": "\033[1m↙\033[0m", + "E": "\033[1m←\033[0m", + "ESE": "\033[1m←\033[0m", + "SE": "\033[1m↖\033[0m", + "SSE": "\033[1m↖\033[0m", + "S": "\033[1m↑\033[0m", + "SSW": "\033[1m↑\033[0m", + "SW": "\033[1m↗\033[0m", + "WSW": "\033[1m↗\033[0m", + "W": "\033[1m→\033[0m", + "WNW": "\033[1m→\033[0m", + "NW": "\033[1m↘\033[0m", + "NNW": "\033[1m↘\033[0m", +} func formatTemp(c cond) string { color := func(temp int, explicitPlus bool) string { - var col = 0 + col := 0 if !config.Inverse { // Extemely cold temperature must be shown with violet // because dark blue is too dark @@ -193,7 +191,7 @@ func formatWind(c cond) string { return spd } color := func(spd int) string { - var col = 46 + col := 46 switch spd { case 1, 2, 3: col = 82 @@ -286,7 +284,7 @@ func formatCond(cur []string, c cond, current bool) (ret []string) { icon[i] = strings.Replace(icon[i], "38;5;251", "38;5;238", -1) } } - //desc := fmt.Sprintf("%-15.15v", c.WeatherDesc[0].Value) + // desc := fmt.Sprintf("%-15.15v", c.WeatherDesc[0].Value) desc := c.WeatherDesc[0].Value if config.RightToLeft { for runewidth.StringWidth(desc) < 15 { @@ -325,7 +323,7 @@ func formatCond(cur []string, c cond, current bool) (ret []string) { } else { if lastRune, size := utf8.DecodeLastRuneInString(desc); lastRune != ' ' { desc = desc[:len(desc)-size] + "…" - //for numberOfSpaces < runewidth.StringWidth(fmt.Sprintf("%c", lastRune)) - 1 { + // for numberOfSpaces < runewidth.StringWidth(fmt.Sprintf("%c", lastRune)) - 1 { for runewidth.StringWidth(desc) < 15 { desc = desc + " " } diff --git a/internal/view/v1/icons.go b/internal/view/v1/icons.go index 5dbe96b..08017fe 100644 --- a/internal/view/v1/icons.go +++ b/internal/view/v1/icons.go @@ -6,133 +6,152 @@ var ( " __) ", " ( ", " `-’ ", - " • "} + " • ", + } iconSunny = []string{ "\033[38;5;226m \\ / \033[0m", "\033[38;5;226m .-. \033[0m", "\033[38;5;226m ― ( ) ― \033[0m", "\033[38;5;226m `-’ \033[0m", - "\033[38;5;226m / \\ \033[0m"} + "\033[38;5;226m / \\ \033[0m", + } iconPartlyCloudy = []string{ "\033[38;5;226m \\ /\033[0m ", "\033[38;5;226m _ /\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m \\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", - " "} + " ", + } iconCloudy = []string{ " ", "\033[38;5;250m .--. \033[0m", "\033[38;5;250m .-( ). \033[0m", "\033[38;5;250m (___.__)__) \033[0m", - " "} + " ", + } iconVeryCloudy = []string{ " ", "\033[38;5;240;1m .--. \033[0m", "\033[38;5;240;1m .-( ). \033[0m", "\033[38;5;240;1m (___.__)__) \033[0m", - " "} + " ", + } iconLightShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m", - "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m"} + "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m", + } iconHeavyShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;240;1m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;240;1m( ). \033[0m", "\033[38;5;226m /\033[38;5;240;1m(___(__) \033[0m", "\033[38;5;21;1m ‚‘‚‘‚‘‚‘ \033[0m", - "\033[38;5;21;1m ‚’‚’‚’‚’ \033[0m"} + "\033[38;5;21;1m ‚’‚’‚’‚’ \033[0m", + } iconLightSnowShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", "\033[38;5;255m * * * \033[0m", - "\033[38;5;255m * * * \033[0m"} + "\033[38;5;255m * * * \033[0m", + } iconHeavySnowShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;240;1m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;240;1m( ). \033[0m", "\033[38;5;226m /\033[38;5;240;1m(___(__) \033[0m", "\033[38;5;255;1m * * * * \033[0m", - "\033[38;5;255;1m * * * * \033[0m"} + "\033[38;5;255;1m * * * * \033[0m", + } iconLightSleetShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", "\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[38;5;255m* \033[0m", - "\033[38;5;255m *\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[0m"} + "\033[38;5;255m *\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[0m", + } iconThunderyShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", "\033[38;5;228;5m ⚡\033[38;5;111;25m‘‘\033[38;5;228;5m⚡\033[38;5;111;25m‘‘ \033[0m", - "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m"} + "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m", + } iconThunderyHeavyRain = []string{ "\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m ( ). \033[0m", "\033[38;5;240;1m (___(__) \033[0m", "\033[38;5;21;1m ‚‘\033[38;5;228;5m⚡\033[38;5;21;25m‘‚\033[38;5;228;5m⚡\033[38;5;21;25m‚‘ \033[0m", - "\033[38;5;21;1m ‚’‚’\033[38;5;228;5m⚡\033[38;5;21;25m’‚’ \033[0m"} + "\033[38;5;21;1m ‚’‚’\033[38;5;228;5m⚡\033[38;5;21;25m’‚’ \033[0m", + } iconThunderySnowShowers = []string{ "\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m", "\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m", "\033[38;5;226m /\033[38;5;250m(___(__) \033[0m", "\033[38;5;255m *\033[38;5;228;5m⚡\033[38;5;255;25m*\033[38;5;228;5m⚡\033[38;5;255;25m* \033[0m", - "\033[38;5;255m * * * \033[0m"} + "\033[38;5;255m * * * \033[0m", + } iconLightRain = []string{ "\033[38;5;250m .-. \033[0m", "\033[38;5;250m ( ). \033[0m", "\033[38;5;250m (___(__) \033[0m", "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m", - "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m"} + "\033[38;5;111m ‘ ‘ ‘ ‘ \033[0m", + } iconHeavyRain = []string{ "\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m ( ). \033[0m", "\033[38;5;240;1m (___(__) \033[0m", "\033[38;5;21;1m ‚‘‚‘‚‘‚‘ \033[0m", - "\033[38;5;21;1m ‚’‚’‚’‚’ \033[0m"} + "\033[38;5;21;1m ‚’‚’‚’‚’ \033[0m", + } iconLightSnow = []string{ "\033[38;5;250m .-. \033[0m", "\033[38;5;250m ( ). \033[0m", "\033[38;5;250m (___(__) \033[0m", "\033[38;5;255m * * * \033[0m", - "\033[38;5;255m * * * \033[0m"} + "\033[38;5;255m * * * \033[0m", + } iconHeavySnow = []string{ "\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m ( ). \033[0m", "\033[38;5;240;1m (___(__) \033[0m", "\033[38;5;255;1m * * * * \033[0m", - "\033[38;5;255;1m * * * * \033[0m"} + "\033[38;5;255;1m * * * * \033[0m", + } iconLightSleet = []string{ "\033[38;5;250m .-. \033[0m", "\033[38;5;250m ( ). \033[0m", "\033[38;5;250m (___(__) \033[0m", "\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[38;5;255m* \033[0m", - "\033[38;5;255m *\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[0m"} + "\033[38;5;255m *\033[38;5;111m ‘ \033[38;5;255m*\033[38;5;111m ‘ \033[0m", + } iconFog = []string{ " ", "\033[38;5;251m _ - _ - _ - \033[0m", "\033[38;5;251m _ - _ - _ \033[0m", "\033[38;5;251m _ - _ - _ - \033[0m", - " "} + " ", + } codes = map[int][]string{ 113: iconSunny, diff --git a/internal/view/v1/locale.go b/internal/view/v1/locale.go index 2987ea2..412e3d8 100644 --- a/internal/view/v1/locale.go +++ b/internal/view/v1/locale.go @@ -229,65 +229,65 @@ var ( } localizedRain = map[string]map[bool]string{ - "en": map[bool]string{ + "en": { false: "mm", true: "in", }, - "be": map[bool]string{ + "be": { false: "мм", true: "in", }, - "ru": map[bool]string{ + "ru": { false: "мм", true: "in", }, - "uk": map[bool]string{ + "uk": { false: "мм", true: "in", }, } localizedVis = map[string]map[bool]string{ - "en": map[bool]string{ + "en": { false: "km", true: "mi", }, - "be": map[bool]string{ + "be": { false: "км", true: "mi", }, - "ru": map[bool]string{ + "ru": { false: "км", true: "mi", }, - "uk": map[bool]string{ + "uk": { false: "км", true: "mi", }, } localizedWind = map[string]map[int]string{ - "en": map[int]string{ + "en": { 0: "km/h", 1: "mph", 2: "m/s", }, - "be": map[int]string{ + "be": { 0: "км/г", 1: "mph", 2: "м/c", }, - "ru": map[int]string{ + "ru": { 0: "км/ч", 1: "mph", 2: "м/c", }, - "tr": map[int]string{ + "tr": { 0: "km/sa", 1: "mph", 2: "m/s", }, - "uk": map[int]string{ + "uk": { 0: "км/год", 1: "mph", 2: "м/c", diff --git a/internal/view/v1/view1.go b/internal/view/v1/view1.go index 0f3cdbc..4607bec 100644 --- a/internal/view/v1/view1.go +++ b/internal/view/v1/view1.go @@ -7,9 +7,7 @@ import ( "github.com/klauspost/lctime" ) -var ( - slotTimes = [slotcount]int{9 * 60, 12 * 60, 18 * 60, 22 * 60} -) +var slotTimes = [slotcount]int{9 * 60, 12 * 60, 18 * 60, 22 * 60} func printDay(w weather) (ret []string) { hourly := w.Hourly @@ -97,7 +95,8 @@ func printDay(w weather) (ret []string) { " ┌─────────────┐ ", "┌───────────────────────" + dateFmt + "───────────────────────┐", names, - "├──────────────────────────────┼──────────────────────────────┤"}, + "├──────────────────────────────┼──────────────────────────────┤", + }, ret...) return append(ret, @@ -118,7 +117,8 @@ func printDay(w weather) (ret []string) { " ┌─────────────┐ ", "┌──────────────────────────────┬───────────────────────" + dateFmt + "───────────────────────┬──────────────────────────────┐", names, - "├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤"}, + "├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤", + }, ret...) return append(ret, diff --git a/srv.go b/srv.go index 582199c..92754e5 100644 --- a/srv.go +++ b/srv.go @@ -17,7 +17,7 @@ import ( "github.com/chubin/wttr.in/internal/logging" "github.com/chubin/wttr.in/internal/processor" "github.com/chubin/wttr.in/internal/types" - "github.com/chubin/wttr.in/internal/view/v1" + v1 "github.com/chubin/wttr.in/internal/view/v1" ) //nolint:gochecknoglobals @@ -31,7 +31,7 @@ var cli struct { GeoResolve string `name:"geo-resolve" help:"Resolve location"` LogLevel string `name:"log-level" short:"l" help:"Show log messages with level" default:"info"` - V1 struct v1.Configuration + V1 v1.Configuration } const logLineStart = "LOG_LINE_START "