mirror of
https://github.com/nxshock/trayweather.git
synced 2025-07-01 00:13:43 +05:00
35 lines
946 B
Go
35 lines
946 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/ilyakaznacheev/cleanenv"
|
|
"github.com/ncruces/zenity"
|
|
)
|
|
|
|
type Config struct {
|
|
CityName string `toml:"CityName" env:"CITY_NAME"`
|
|
UpdatePeriodMin int `toml:"UpdatePeriod", env:"UPDATE_PERIOD"`
|
|
}
|
|
|
|
var config Config
|
|
|
|
func init() {
|
|
log.SetFlags(0)
|
|
|
|
err := cleanenv.ReadConfig("config.toml", &config)
|
|
if err != nil {
|
|
zenity.Notify("Ошибка при чтении настроек из файла config.toml:\n" + err.Error())
|
|
log.Fatalln(err)
|
|
}
|
|
|
|
if config.CityName == "" {
|
|
zenity.Notify("Город (поле CityName) не может быть пустым.")
|
|
log.Fatalln("Город (поле CityName) не может быть пустым.")
|
|
}
|
|
|
|
if config.UpdatePeriodMin <= 0 {
|
|
log.Printf("Частота обновлений слишком низкая (%s), будет установлено значение в одну минуту.")
|
|
config.UpdatePeriodMin = 1
|
|
}
|
|
}
|