mirror of
https://github.com/chubin/wttr.in
synced 2025-01-11 19:48:45 +00:00
Run gofumpt for view/v1
This commit is contained in:
parent
cfe5b0761e
commit
0bf476bd41
6 changed files with 81 additions and 64 deletions
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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 + " "
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
4
srv.go
4
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 "
|
||||
|
|
Loading…
Reference in a new issue