summaryrefslogtreecommitdiff
path: root/handlers.go
diff options
context:
space:
mode:
Diffstat (limited to 'handlers.go')
-rw-r--r--handlers.go102
1 files changed, 102 insertions, 0 deletions
diff --git a/handlers.go b/handlers.go
new file mode 100644
index 0000000..9728fcc
--- /dev/null
+++ b/handlers.go
@@ -0,0 +1,102 @@
+package main
+
+import (
+ "github.com/gorilla/mux"
+ "net/http"
+)
+
+func index(w http.ResponseWriter, req *http.Request) {
+ _ = req.URL.Path
+ p := Page{
+ Title: "Home",
+ }
+
+ err := tmpl.ExecuteTemplate(w, "home.gohtml", p)
+ check(err, w)
+
+}
+
+func movieHandler(w http.ResponseWriter, req *http.Request) {
+ p := Page{
+ Title: "Movies",
+ MediaTitleAndLink: movies,
+ }
+
+ err := tmpl.ExecuteTemplate(w, "movieIndex.gohtml", p)
+ check(err, w)
+
+}
+
+func showsHandler(w http.ResponseWriter, req *http.Request) {
+ vars := mux.Vars(req)
+ var p Page
+ var title string
+ if vars["show"] == "" {
+ var m = map[string]string{}
+
+ for show := range shows {
+ m[show] = "/shows/" + show
+ }
+
+ p = Page{
+ Title: "Shows",
+ MediaTitleAndLink: m,
+ }
+
+ } else if vars["season"] == "" {
+ var m = map[string]string{}
+
+ for season := range shows[vars["show"]] {
+ if season == vars["show"] {
+ continue
+ }
+ m[season] = "/shows/" + vars["show"] + "/" + season
+ }
+
+ title = vars["show"]
+
+ p = Page{
+ Title: title,
+ MediaTitleAndLink: m,
+ }
+
+ } else if vars["episode"] == "" {
+ var m = map[string]string{}
+
+ for episode := range shows[vars["show"]][vars["season"]] {
+ m[episode] = "/view/" + vars["show"] + "/" + vars["season"] + "/" + episode
+ }
+
+ title = vars["show"] + " | " + vars["season"]
+
+ p = Page{
+ Title: title,
+ MediaTitleAndLink: m,
+ }
+ }
+
+ err := tmpl.ExecuteTemplate(w, "movieIndex.gohtml", p)
+ check(err, w)
+}
+
+func movieViewerHandler(w http.ResponseWriter, req *http.Request) {
+ var url, title string
+ vars := mux.Vars(req)
+
+ if vars["season"] == "" {
+ url = "/files/movies/" + vars["movieOrShow"]
+ title = vars["movieOrShow"]
+ } else {
+ url = "/files/shows/" + vars["movieOrShow"] + "/" + vars["season"] + "/" + vars["episode"]
+ title = vars["movieOrShow"]
+ }
+
+ p := Page{
+ Title: title,
+ MediaSrc: url,
+ }
+
+ err := tmpl.ExecuteTemplate(w, "viewer.gohtml", p)
+ check(err, w)
+
+} \ No newline at end of file