Commit 2fc49b2
2017-03-02 17:07:36
Changed files (1)
gen_feed.go
@@ -0,0 +1,55 @@
+package main
+
+import (
+ "bytes"
+ "github.com/gorilla/feeds"
+ "github.com/mmcdole/gofeed"
+ "log"
+ "os"
+ "os/exec"
+ "strings"
+ "time"
+)
+
+func main() {
+ YouTubePlaylistRSS := "https://www.youtube.com/feeds/videos.xml?playlist_id=PLiZxWe0ejyv8CSMylrxb6Nx4Ii2RHbu_j"
+ audiodir := "/Users/bryfry/"
+ fp := gofeed.NewParser()
+ feed, _ := fp.ParseURL(YouTubePlaylistRSS)
+ now := time.Now()
+
+ newfeed := &feeds.Feed{
+ Title: "Late Show w/ Stephen Colbert Intro Monologues",
+ Link: &feeds.Link{Href: "https://www.youtube.com/channel/UCMtFAi84ehTSYSE9XoHefig"},
+ Description: "Podcast version of Intro Monologues",
+ Author: &feeds.Author{Name: "CBS", Email: ""},
+ Created: now,
+ }
+
+ for _, i := range feed.Items {
+ guid := strings.Split(i.GUID, ":")
+ id := guid[len(guid)-1]
+
+ if _, err := os.Stat(audiodir + id + ".mp3"); os.IsNotExist(err) {
+ // id mp3 hasn't been downloaded
+ cmd := exec.Command("youtube-dl", "--extract-audio", "--audio-format", "mp3", "-o", "%(id)s.%(ext)s", i.Link)
+ var out bytes.Buffer
+ cmd.Stdout = &out
+ err := cmd.Run()
+ if err != nil {
+ log.Fatal(err)
+ }
+ }
+
+ newitem := &feeds.Item{
+ Title: i.Title,
+ Link: &feeds.Link{Href: "trustme.click/audio/" + id + ".mp3", Type: "audio/mpeg"},
+ Created: *i.PublishedParsed,
+ Updated: *i.UpdatedParsed,
+ }
+ newfeed.Items = append(newfeed.Items, newitem)
+ }
+ writer, _ := os.Create("/tmp/tmp.xml")
+ newfeed.WriteRss(writer)
+
+}