mirror of
https://github.com/nxshock/trayweather.git
synced 2025-07-02 00:23:43 +05:00
38 lines
1,010 B
Go
38 lines
1,010 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/ilyakaznacheev/cleanenv"
|
|
"github.com/ncruces/zenity"
|
|
)
|
|
|
|
type Config struct {
|
|
CityName string `toml:"CityName" env:"CITY_NAME"`
|
|
UpdatePeriod time.Duration `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) не может быть пустым.")
|
|
}
|
|
|
|
log.Println(config.UpdatePeriod)
|
|
|
|
if config.UpdatePeriod < time.Minute {
|
|
log.Printf("Частота обновлений слишком низкая (%s), будет установлено значение в одну минуту.")
|
|
config.UpdatePeriod = time.Minute
|
|
}
|
|
}
|