diff --git a/admin.go b/admin.go index 2d4d6a3..ef5bd51 100644 --- a/admin.go +++ b/admin.go @@ -1,10 +1,45 @@ package main import ( - "io/ioutil" + "net/http" "fmt" + "strings" + "io/ioutil" + "io" + "os" ) -func CreateEpisode() { - +func CreateEpisode(w http.ResponseWriter, r *http.Request) { + if r.Method == "POST" { + r.ParseMultipartForm(32 << 20) + date := strings.Join(r.Form["date"], "") + title := strings.Join(r.Form["title"], "") + + name := fmt.Sprintf("%v_%v", date, title) + filename := name + ".mp3" + shownotes := name + "_SHOWNOTES.md" + fmt.Println(name) + description := strings.Join(r.Form["description"], "") + fmt.Println(description) + + err := ioutil.WriteFile("./podcasts/" + shownotes, []byte(description), 0644) + if err != nil { + panic(err) + } + + file, handler, err := r.FormFile("file") + if err != nil { + fmt.Println(err) + return + } + defer file.Close() + fmt.Fprintf(w, "%v", handler.Header) + f, err := os.OpenFile("./podcasts/"+filename, os.O_WRONLY|os.O_CREATE, 0666) + if err != nil { + fmt.Println(err) + return + } + defer f.Close() + io.Copy(f, file) + } } \ No newline at end of file diff --git a/assets/admin.html b/assets/admin.html index 8968ba1..28eca10 100644 --- a/assets/admin.html +++ b/assets/admin.html @@ -2,14 +2,25 @@ - WR Admin + WR Publish -

White Rabbit Admin

+

White Rabbit Publish

- +
+ + + + + + + + + +
+