From 8417e8d7bbf37ac0ac25fc4915131e93ea2bcdcc Mon Sep 17 00:00:00 2001 From: Kevin Chabowski Date: Thu, 1 May 2014 14:31:26 +0200 Subject: Added link to save current earthporn --- main.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index 3dcdc2e..d6d52b1 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,7 @@ package main import ( "errors" "flag" + "fmt" "html/template" "log" "net/http" @@ -92,6 +93,7 @@ func loadTemplate() { func initCmds() { RegisterCommand("add-link", addLinkCmd) + RegisterCommand("set-earthporn-savepath", setSavepathCmd) RegisterCommand("set-weather-place", setPlaceCmd) } @@ -129,6 +131,7 @@ func main() { http.HandleFunc("/", startpage) http.HandleFunc("/bgimg", bgimg) + http.HandleFunc("/savebg", savebg) log.Fatal(http.ListenAndServe(*laddr, nil)) } @@ -139,6 +142,7 @@ type TplData struct { } func startpage(rw http.ResponseWriter, req *http.Request) { + defer req.Body.Close() if err := tpl.Execute(rw, &TplData{&porn, &weather, links}); err != nil { log.Printf("Failed executing template: %s\n", err) @@ -158,3 +162,19 @@ func bgimg(rw http.ResponseWriter, req *http.Request) { } } +func savebg(rw http.ResponseWriter, req *http.Request) { + defer req.Body.Close() + + if len(porn.data) == 0 { + fmt.Fprintln(rw, "No earth porn available") + return + } + + if err := (&porn).save(); err != nil { + log.Println(err) + fmt.Fprintln(rw, err) + } + + rw.Header().Add("Location", "/") + rw.WriteHeader(http.StatusFound) +} -- cgit v1.2.3-54-g00ecf