From 6bd47783325a2c1833f8017abc6aa459c4d82538 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 21 May 2023 13:42:53 +0200 Subject: export config members and pass the config to the client page template Add a boolean to check for the upload backend in the template. --- main.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index db78154..420ade8 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "html/template" "io/ioutil" "net/http" + "strings" "muhq.space/go/wrms/llog" @@ -17,19 +18,17 @@ import ( ) var wrms *Wrms +var pageTemplate *template.Template func landingPage(w http.ResponseWriter, r *http.Request) { if _, err := r.Cookie("UUID"); err != nil { http.SetCookie(w, &http.Cookie{Name: "UUID", Value: uuid.NewString()}) } - t, err := template.ParseFiles("web/client.html") - if err != nil { + if err := pageTemplate.Execute(w, wrms.Config); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } - - t.Execute(w, "") } func searchHandler(w http.ResponseWriter, r *http.Request) { @@ -87,7 +86,6 @@ func addHandler(w http.ResponseWriter, r *http.Request) { return } - llog.Info("Added song %s", string(data)) wrms.AddSong(song) wrms.Broadcast(Event{"add", []Song{song}}) fmt.Fprintf(w, "Added song %s", string(data)) @@ -214,21 +212,25 @@ func setupRoutes() { func main() { config := Config{} logLevel := flag.String("loglevel", "Warning", "log level") - flag.IntVar(&config.port, "port", 8080, "port to listen to") - flag.StringVar(&config.backends, "backends", "dummy youtube spotify", "music backend to use") - flag.StringVar(&config.localMusicDir, "serve-music-dir", "", "local music directory to serve") + flag.IntVar(&config.Port, "port", 8080, "port to listen to") + flag.StringVar(&config.Backends, "backends", "dummy youtube spotify", "music backend to use") + flag.StringVar(&config.LocalMusicDir, "serve-music-dir", "", "local music directory to serve") + flag.StringVar(&config.UploadDir, "upload-dir", "uploads/", "directory to upload songs to") flag.Parse() llog.SetLogLevelFromString(*logLevel) + config.HasUpload = strings.Contains(config.Backends, "upload") wrms = NewWrms(config) defer wrms.Close() setupRoutes() + pageTemplate = template.Must(template.ParseFiles("web/client.html")) + // wrms.AddSong(NewDummySong("Lala", "SNFMT")) // wrms.AddSong(NewDummySong("Hobelbank", "MC Wankwichtel")) - err := http.ListenAndServe(fmt.Sprintf(":%d", config.port), nil) + err := http.ListenAndServe(fmt.Sprintf(":%d", config.Port), nil) llog.Error("Serving http failed with %s", err) } -- cgit v1.2.3