From 664fe5c22de333447e09f2e5fde880118ae8bfa0 Mon Sep 17 00:00:00 2001 From: BroodjeAap Date: Sun, 12 Jul 2020 12:32:48 +0000 Subject: [PATCH] updated to name based ID for streams instead of url --- main.go | 54 +++++++++++++++++++++---------------------- stream.go | 2 +- templates/index.html | 29 +++++++++++++++++++---- templates/stream.html | 8 +++---- 4 files changed, 55 insertions(+), 38 deletions(-) diff --git a/main.go b/main.go index 757db88..77eb587 100755 --- a/main.go +++ b/main.go @@ -22,7 +22,7 @@ type Server struct { } func (server Server) index(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { indexTemplate, err := template.ParseFiles(indexHTML, baseHTML) if err != nil { log.Fatal(err) @@ -30,19 +30,16 @@ func (server Server) index(w http.ResponseWriter, r *http.Request) { indexTemplate.Execute(w, server.Streams) return } - URL := r.FormValue("URL") - stream, exists := server.Streams[URL] + name := r.FormValue("name") + stream, exists := server.Streams[name] if !exists { - stream = NewStream("test", URL) - server.Streams[URL] = stream - go stream.UpdateInterval() + return } streamTemplate, err := template.ParseFiles(streamHTML, baseHTML) if err != nil { log.Fatal(err) } - streamTemplate.Execute(w, stream) } @@ -64,6 +61,7 @@ func (server Server) addStream(w http.ResponseWriter, r *http.Request) { } if !exists && name != "" && URL != "" { server.Streams[name] = NewStream(name, URL) + go server.Streams[name].UpdateInterval() http.Redirect(w, r, "/", http.StatusTemporaryRedirect) } } @@ -81,13 +79,13 @@ func (server Server) addStream(w http.ResponseWriter, r *http.Request) { } func (server Server) stream(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { return } w.Header().Set("Content-Type", "image/jpeg") - URL := r.FormValue("URL") + name := r.FormValue("name") - stream, exists := server.Streams[URL] + stream, exists := server.Streams[name] if !exists { return } @@ -99,19 +97,19 @@ func (server Server) stream(w http.ResponseWriter, r *http.Request) { jpg, err := gocv.IMEncode(".jpg", mat) if err != nil { - log.Fatal("Could not encode Mat to jpg:", URL) + log.Fatal("Could not encode Mat to jpg:", name) } w.Write(jpg) } func (server Server) previous(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { return } w.Header().Set("Content-Type", "image/jpeg") - URL := r.FormValue("URL") + name := r.FormValue("name") - stream, exists := server.Streams[URL] + stream, exists := server.Streams[name] if !exists { return } @@ -120,19 +118,19 @@ func (server Server) previous(w http.ResponseWriter, r *http.Request) { } jpg, err := gocv.IMEncode(".jpg", stream.IMReadPrevious()) if err != nil { - log.Fatal("Could not encode Mat to jpg:", URL) + log.Fatal("Could not encode Mat to jpg:", name) } w.Write(jpg) } func (server Server) currentColor(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { return } w.Header().Set("Content-Type", "image/jpeg") - URL := r.FormValue("URL") + name := r.FormValue("name") - stream, exists := server.Streams[URL] + stream, exists := server.Streams[name] if !exists { return } @@ -141,19 +139,19 @@ func (server Server) currentColor(w http.ResponseWriter, r *http.Request) { } jpg, err := gocv.IMEncode(".jpg", stream.IMReadCurrentColor()) if err != nil { - log.Fatal("Could not encode Mat to jpg:", URL) + log.Fatal("Could not encode Mat to jpg:", name) } w.Write(jpg) } func (server Server) debug(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { return } w.Header().Set("Content-Type", "image/jpeg") - URL := r.FormValue("URL") + name := r.FormValue("name") - stream, exists := server.Streams[URL] + stream, exists := server.Streams[name] if !exists { return } @@ -162,19 +160,19 @@ func (server Server) debug(w http.ResponseWriter, r *http.Request) { } jpg, err := gocv.IMEncode(".jpg", stream.IMReadDebug()) if err != nil { - log.Fatal("Could not encode Mat to jpg:", URL) + log.Fatal("Could not encode Mat to jpg:", name) } w.Write(jpg) } func (server Server) current(w http.ResponseWriter, r *http.Request) { - if r.FormValue("URL") == "" { + if r.FormValue("name") == "" { return } w.Header().Set("Content-Type", "image/jpeg") - URL := r.FormValue("URL") + name := r.FormValue("name") - stream, exists := server.Streams[URL] + stream, exists := server.Streams[name] if !exists { return } @@ -183,7 +181,7 @@ func (server Server) current(w http.ResponseWriter, r *http.Request) { } jpg, err := gocv.IMEncode(".jpg", stream.IMReadCurrent()) if err != nil { - log.Fatal("Could not encode Mat to jpg:", URL) + log.Fatal("Could not encode Mat to jpg:", name) } w.Write(jpg) } @@ -208,7 +206,7 @@ func main() { streamJSONFile, _ := ioutil.ReadFile(streamJSONPath) stream := Stream{} json.Unmarshal([]byte(streamJSONFile), &stream) - server.Streams[stream.URL] = stream + server.Streams[stream.Name] = stream go stream.UpdateInterval() } diff --git a/stream.go b/stream.go index 75a171b..dbef05e 100755 --- a/stream.go +++ b/stream.go @@ -205,7 +205,7 @@ func (s Stream) WriteStreamJSON() { // GetStreamStoreDirPath returns filepath.Join(s.GetStreamDirPath(), s.Base64) func (s Stream) GetStreamStoreDirPath() string { - return filepath.Join(GetStreamDirPath(), s.Base64) + return filepath.Join(GetStreamDirPath(), s.Name) } // GetPreviousInstantPath returns filepath.Join(GetStreamDirPath(), s.Base64, "previous.jpg") diff --git a/templates/index.html b/templates/index.html index 8c175ba..3471ac9 100755 --- a/templates/index.html +++ b/templates/index.html @@ -1,8 +1,27 @@ {{template "base" .}} {{define "content"}} -

Stream URL

-
- - -
+ + + + + + + + + + + + + + + {{range $streamName, $stream := .}} + + + + + + + + {{end}} +
Streams
NameURLWatchesInterval (ms)Watch
Add
{{ $stream.Name }}{{ $stream.URL }} {{ len $stream.Watches }} {{ $stream.Interval }}Go
{{end}} \ No newline at end of file diff --git a/templates/stream.html b/templates/stream.html index 81d8806..9020677 100755 --- a/templates/stream.html +++ b/templates/stream.html @@ -1,7 +1,7 @@ {{template "base" .}} {{define "content"}} - - - - + + + + {{end}} \ No newline at end of file