summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go25
1 files changed, 20 insertions, 5 deletions
diff --git a/main.go b/main.go
index 01c8c60..776b1a1 100644
--- a/main.go
+++ b/main.go
@@ -7,6 +7,7 @@ import (
"fmt"
"html/template"
"log"
+ "math"
"net/http"
"os"
"path"
@@ -52,11 +53,11 @@ func loadTemplate(templateDir string) error {
}
func buildWeatherProvider(config Config) *weather.WeatherProvider {
- if config.WeatherPlace == "" {
+ if config.WeatherCoords.Lat == "" || config.WeatherCoords.Lon == "" {
return nil
}
- return weather.NewWeatherProvider(config.WeatherPlace)
+ return weather.NewWeatherProvider(config.WeatherCoords.Lat, config.WeatherCoords.Lon)
}
func buildRedditImageProvider(config Config) *reddit_background.RedditImageProvider {
@@ -96,9 +97,23 @@ func main() {
log.Fatal(http.ListenAndServe(*laddr, nil))
}
+type TplWeather struct {
+ Temp int
+}
+
+func convertWeather(ts *weather.TimeseriesEntry) *TplWeather {
+ if ts == nil {
+ return nil
+ }
+
+ return &TplWeather{
+ Temp: int(math.Round(ts.Temperature())),
+ }
+}
+
type TplData struct {
BgImage *reddit_background.RedditImageForAjax
- Weather *weather.Weather
+ Weather *TplWeather
Links []Link
CanSaveBg bool
}
@@ -109,7 +124,7 @@ func startpage(config Config, redditImageProvider *reddit_background.RedditImage
return func(rw http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
- var curWeather *weather.Weather = nil
+ var curWeather *weather.TimeseriesEntry = nil
if weatherProvider != nil {
var err error
if curWeather, err = weatherProvider.CurrentWeather(); err != nil {
@@ -119,7 +134,7 @@ func startpage(config Config, redditImageProvider *reddit_background.RedditImage
if err := tpl.Execute(rw, &TplData{
redditImageProvider.Image().ForAjax(),
- curWeather,
+ convertWeather(curWeather),
config.Links,
config.BackgroundSavepath != "",
}); err != nil {