v1: Move icons to a function

chubin/logging
Igor Chubin 2 years ago
parent ba82bbd096
commit d86f03f2b7

@ -14,6 +14,7 @@ import (
"strings" "strings"
) )
//nolint:tagliatelle
type cond struct { type cond struct {
ChanceOfRain string `json:"chanceofrain"` ChanceOfRain string `json:"chanceofrain"`
FeelsLikeC int `json:",string"` FeelsLikeC int `json:",string"`
@ -49,6 +50,7 @@ type loc struct {
Type string `json:"type"` Type string `json:"type"`
} }
//nolint:tagliatelle
type resp struct { type resp struct {
Data struct { Data struct {
Cur []cond `json:"current_condition"` Cur []cond `json:"current_condition"`

@ -274,7 +274,7 @@ func formatRain(c cond) string {
func formatCond(cur []string, c cond, current bool) (ret []string) { func formatCond(cur []string, c cond, current bool) (ret []string) {
var icon []string var icon []string
if i, ok := codes[c.WeatherCode]; !ok { if i, ok := codes[c.WeatherCode]; !ok {
icon = iconUnknown icon = getIcon("iconUnknown")
} else { } else {
icon = i icon = i
} }

@ -1,206 +1,210 @@
package v1 package v1
var ( func getIcon(name string) []string {
iconUnknown = []string{ icon := map[string][]string{
"iconUnknown": {
" .-. ", " .-. ",
" __) ", " __) ",
" ( ", " ( ",
" `- ", " `- ",
" • ", " • ",
} },
iconSunny = []string{ "iconSunny": {
"\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",
"\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{ "iconPartlyCloudy": {
"\033[38;5;226m \\ /\033[0m ", "\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", "\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{ "iconCloudy": {
" ", " ",
"\033[38;5;250m .--. \033[0m", "\033[38;5;250m .--. \033[0m",
"\033[38;5;250m .-( ). \033[0m", "\033[38;5;250m .-( ). \033[0m",
"\033[38;5;250m (___.__)__) \033[0m", "\033[38;5;250m (___.__)__) \033[0m",
" ", " ",
} },
iconVeryCloudy = []string{ "iconVeryCloudy": {
" ", " ",
"\033[38;5;240;1m .--. \033[0m", "\033[38;5;240;1m .--. \033[0m",
"\033[38;5;240;1m .-( ). \033[0m", "\033[38;5;240;1m .-( ). \033[0m",
"\033[38;5;240;1m (___.__)__) \033[0m", "\033[38;5;240;1m (___.__)__) \033[0m",
" ", " ",
} },
iconLightShowers = []string{ "iconLightShowers": {
"\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;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", "\033[38;5;111m \033[0m",
} },
iconHeavyShowers = []string{ "iconHeavyShowers": {
"\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;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", "\033[38;5;21;1m \033[0m",
} },
iconLightSnowShowers = []string{ "iconLightSnowShowers": {
"\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;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", "\033[38;5;255m * * * \033[0m",
} },
iconHeavySnowShowers = []string{ "iconHeavySnowShowers": {
"\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;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", "\033[38;5;255;1m * * * * \033[0m",
} },
iconLightSleetShowers = []string{ "iconLightSleetShowers": {
"\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;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;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{ "iconThunderyShowers": {
"\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;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;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{ "iconThunderyHeavyRain": {
"\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m", "\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[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{ "iconThunderySnowShowers": {
"\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;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[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{ "iconLightRain": {
"\033[38;5;250m .-. \033[0m", "\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m", "\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", "\033[38;5;111m \033[0m",
} },
iconHeavyRain = []string{ "iconHeavyRain": {
"\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m", "\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", "\033[38;5;21;1m \033[0m",
} },
iconLightSnow = []string{ "iconLightSnow": {
"\033[38;5;250m .-. \033[0m", "\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m", "\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", "\033[38;5;255m * * * \033[0m",
} },
iconHeavySnow = []string{ "iconHeavySnow": {
"\033[38;5;240;1m .-. \033[0m", "\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m", "\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", "\033[38;5;255;1m * * * * \033[0m",
} },
iconLightSleet = []string{ "iconLightSleet": {
"\033[38;5;250m .-. \033[0m", "\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m", "\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;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{ "iconFog": {
" ", " ",
"\033[38;5;251m _ - _ - _ - \033[0m", "\033[38;5;251m _ - _ - _ - \033[0m",
"\033[38;5;251m _ - _ - _ \033[0m", "\033[38;5;251m _ - _ - _ \033[0m",
"\033[38;5;251m _ - _ - _ - \033[0m", "\033[38;5;251m _ - _ - _ - \033[0m",
" ", " ",
} },
}
codes = map[int][]string{
113: iconSunny, return icon[name]
116: iconPartlyCloudy, }
119: iconCloudy,
122: iconVeryCloudy, var codes = map[int][]string{
143: iconFog, 113: getIcon("iconSunny"),
176: iconLightShowers, 116: getIcon("iconPartlyCloudy"),
179: iconLightSleetShowers, 119: getIcon("iconCloudy"),
182: iconLightSleet, 122: getIcon("iconVeryCloudy"),
185: iconLightSleet, 143: getIcon("iconFog"),
200: iconThunderyShowers, 176: getIcon("iconLightShowers"),
227: iconLightSnow, 179: getIcon("iconLightSleetShowers"),
230: iconHeavySnow, 182: getIcon("iconLightSleet"),
248: iconFog, 185: getIcon("iconLightSleet"),
260: iconFog, 200: getIcon("iconThunderyShowers"),
263: iconLightShowers, 227: getIcon("iconLightSnow"),
266: iconLightRain, 230: getIcon("iconHeavySnow"),
281: iconLightSleet, 248: getIcon("iconFog"),
284: iconLightSleet, 260: getIcon("iconFog"),
293: iconLightRain, 263: getIcon("iconLightShowers"),
296: iconLightRain, 266: getIcon("iconLightRain"),
299: iconHeavyShowers, 281: getIcon("iconLightSleet"),
302: iconHeavyRain, 284: getIcon("iconLightSleet"),
305: iconHeavyShowers, 293: getIcon("iconLightRain"),
308: iconHeavyRain, 296: getIcon("iconLightRain"),
311: iconLightSleet, 299: getIcon("iconHeavyShowers"),
314: iconLightSleet, 302: getIcon("iconHeavyRain"),
317: iconLightSleet, 305: getIcon("iconHeavyShowers"),
320: iconLightSnow, 308: getIcon("iconHeavyRain"),
323: iconLightSnowShowers, 311: getIcon("iconLightSleet"),
326: iconLightSnowShowers, 314: getIcon("iconLightSleet"),
329: iconHeavySnow, 317: getIcon("iconLightSleet"),
332: iconHeavySnow, 320: getIcon("iconLightSnow"),
335: iconHeavySnowShowers, 323: getIcon("iconLightSnowShowers"),
338: iconHeavySnow, 326: getIcon("iconLightSnowShowers"),
350: iconLightSleet, 329: getIcon("iconHeavySnow"),
353: iconLightShowers, 332: getIcon("iconHeavySnow"),
356: iconHeavyShowers, 335: getIcon("iconHeavySnowShowers"),
359: iconHeavyRain, 338: getIcon("iconHeavySnow"),
362: iconLightSleetShowers, 350: getIcon("iconLightSleet"),
365: iconLightSleetShowers, 353: getIcon("iconLightShowers"),
368: iconLightSnowShowers, 356: getIcon("iconHeavyShowers"),
371: iconHeavySnowShowers, 359: getIcon("iconHeavyRain"),
374: iconLightSleetShowers, 362: getIcon("iconLightSleetShowers"),
377: iconLightSleet, 365: getIcon("iconLightSleetShowers"),
386: iconThunderyShowers, 368: getIcon("iconLightSnowShowers"),
389: iconThunderyHeavyRain, 371: getIcon("iconHeavySnowShowers"),
392: iconThunderySnowShowers, 374: getIcon("iconLightSleetShowers"),
395: iconHeavySnowShowers, 377: getIcon("iconLightSleet"),
} 386: getIcon("iconThunderyShowers"),
) 389: getIcon("iconThunderyHeavyRain"),
392: getIcon("iconThunderySnowShowers"),
395: getIcon("iconHeavySnowShowers"),
}

Loading…
Cancel
Save