Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37408af647 | ||
|
|
6f7ff06e3f | ||
|
|
6ce1197f72 | ||
|
|
db79a43e95 |
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
0
config/config.go
Normal file → Executable file
0
config/config.go
Normal file → Executable file
0
config/encode.go
Normal file → Executable file
0
config/encode.go
Normal file → Executable file
0
config/encode_test.go
Normal file → Executable file
0
config/encode_test.go
Normal file → Executable file
0
config/new.go
Normal file → Executable file
0
config/new.go
Normal file → Executable file
0
config/new_test.go
Normal file → Executable file
0
config/new_test.go
Normal file → Executable file
0
config/stoppable.go
Normal file → Executable file
0
config/stoppable.go
Normal file → Executable file
0
handlers/handler.go
Normal file → Executable file
0
handlers/handler.go
Normal file → Executable file
0
handlers/podcast/main.go
Normal file → Executable file
0
handlers/podcast/main.go
Normal file → Executable file
12
handlers/torrent/main.go
Normal file → Executable file
12
handlers/torrent/main.go
Normal file → Executable file
@@ -11,6 +11,7 @@ import (
|
|||||||
"local/storage"
|
"local/storage"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"path"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -99,12 +100,12 @@ func config() (*Config, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func pull(db storage.DB, vpntor, outdir, url string) error {
|
func pull(db storage.DB, vpntor, outdir, url string) error {
|
||||||
gofeed, err := getGoFeed(url)
|
gfeed, err := getGoFeed(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Printf("feed: %v", gofeed.Title)
|
log.Printf("feed: %v", gfeed.Title)
|
||||||
for _, item := range gofeed.Items {
|
for _, item := range gfeed.Items {
|
||||||
if ok, err := isDone(db, item.Link); err != nil {
|
if ok, err := isDone(db, item.Link); err != nil {
|
||||||
return err
|
return err
|
||||||
} else if ok {
|
} else if ok {
|
||||||
@@ -114,7 +115,10 @@ func pull(db storage.DB, vpntor, outdir, url string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := handle(vpntor, outdir, s); err != nil {
|
if item.Author == nil {
|
||||||
|
item.Author = &gofeed.Person{Name: "."}
|
||||||
|
}
|
||||||
|
if err := handle(vpntor, path.Join(outdir, item.Author.Name), s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := db.Set(item.Link, []byte{}); err != nil {
|
if err := db.Set(item.Link, []byte{}); err != nil {
|
||||||
|
|||||||
0
handlers/torrent/main_test.go
Normal file → Executable file
0
handlers/torrent/main_test.go
Normal file → Executable file
0
monitor/item.go
Normal file → Executable file
0
monitor/item.go
Normal file → Executable file
0
monitor/item_test.go
Normal file → Executable file
0
monitor/item_test.go
Normal file → Executable file
0
monitor/monitor.go
Normal file → Executable file
0
monitor/monitor.go
Normal file → Executable file
0
monitor/monitor_test.go
Normal file → Executable file
0
monitor/monitor_test.go
Normal file → Executable file
0
monitor/queue.go
Normal file → Executable file
0
monitor/queue.go
Normal file → Executable file
0
monitor/queue_test.go
Normal file → Executable file
0
monitor/queue_test.go
Normal file → Executable file
9
rss/feed.go
Normal file → Executable file
9
rss/feed.go
Normal file → Executable file
@@ -7,6 +7,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mmcdole/gofeed"
|
"github.com/mmcdole/gofeed"
|
||||||
@@ -21,6 +22,7 @@ type Feed struct {
|
|||||||
TitleFilter string
|
TitleFilter string
|
||||||
ContentFilter string
|
ContentFilter string
|
||||||
Tags []string
|
Tags []string
|
||||||
|
Copyright string
|
||||||
}
|
}
|
||||||
|
|
||||||
func SubmitFeed(f *Feed) error {
|
func SubmitFeed(f *Feed) error {
|
||||||
@@ -72,7 +74,7 @@ func (f *Feed) Pull() error {
|
|||||||
|
|
||||||
itemTSs := []*time.Time{}
|
itemTSs := []*time.Time{}
|
||||||
for _, i := range gofeed.Items {
|
for _, i := range gofeed.Items {
|
||||||
item, err := newItem(i, f.ContentFilter)
|
item, err := newItem(i, f.ContentFilter, f.Copyright)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("[Pull]", err)
|
log.Println("[Pull]", err)
|
||||||
continue
|
continue
|
||||||
@@ -83,9 +85,10 @@ func (f *Feed) Pull() error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if ok := regexp.MustCompile(f.TitleFilter).MatchString(item.Title); !ok {
|
if ok := regexp.MustCompile(f.TitleFilter).MatchString(item.Title); !ok {
|
||||||
log.Println("[Pull]", "Skipping bad titled item")
|
log.Printf("[Pull] Skipping bad titled item: %v doesn't match /%v/", item.Title, f.TitleFilter)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
log.Printf("[Pull] Saving item %v for %v /%v/", f.Key, f.URL, f.TitleFilter)
|
||||||
if err := item.save(f.Key); err != nil {
|
if err := item.save(f.Key); err != nil {
|
||||||
log.Println("[Pull]", err)
|
log.Println("[Pull]", err)
|
||||||
continue
|
continue
|
||||||
@@ -123,7 +126,7 @@ func (f *Feed) Items(limit int) ([]*Item, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *Feed) List(limit int) ([]string, error) {
|
func (f *Feed) List(limit int) ([]string, error) {
|
||||||
keys, err := config.Values().DB.List([]string{nsItems, f.Key})
|
keys, err := config.Values().DB.List([]string{nsItems, f.Key}, " ", "}}}}}", strconv.Itoa(limit), "-")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
34
rss/feed_test.go
Normal file → Executable file
34
rss/feed_test.go
Normal file → Executable file
@@ -177,3 +177,37 @@ func TestRSSFeedPull(t *testing.T) {
|
|||||||
t.Fatal(i)
|
t.Fatal(i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRSSFeedListLimitedDescending(t *testing.T) {
|
||||||
|
initRSSFeed()
|
||||||
|
|
||||||
|
s := mockRSS()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
f := newFeed("key")
|
||||||
|
f.TitleFilter = "50."
|
||||||
|
f.ContentFilter = "b"
|
||||||
|
f.Tags = []string{"c"}
|
||||||
|
f.URL = s.URL
|
||||||
|
|
||||||
|
log.SetOutput(bytes.NewBuffer(nil))
|
||||||
|
defer log.SetOutput(os.Stderr)
|
||||||
|
if err := f.Pull(); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
log.SetOutput(os.Stderr)
|
||||||
|
|
||||||
|
itemKeys, err := f.List(5)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if len(itemKeys) != 5 {
|
||||||
|
t.Fatal(len(itemKeys))
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range itemKeys {
|
||||||
|
if i > 0 && itemKeys[i] > itemKeys[i-1] {
|
||||||
|
t.Error(itemKeys[i], ">", itemKeys[i-1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
4
rss/item.go
Normal file → Executable file
4
rss/item.go
Normal file → Executable file
@@ -20,16 +20,18 @@ type Item struct {
|
|||||||
Link string
|
Link string
|
||||||
Content string
|
Content string
|
||||||
TS time.Time
|
TS time.Time
|
||||||
|
Copyright string
|
||||||
}
|
}
|
||||||
|
|
||||||
type Items []*Item
|
type Items []*Item
|
||||||
|
|
||||||
func newItem(i *gofeed.Item, contentFilter string) (*Item, error) {
|
func newItem(i *gofeed.Item, contentFilter, copyright string) (*Item, error) {
|
||||||
item := &Item{
|
item := &Item{
|
||||||
Title: i.Title,
|
Title: i.Title,
|
||||||
Link: i.Link,
|
Link: i.Link,
|
||||||
Content: i.Content,
|
Content: i.Content,
|
||||||
TS: latestTSPtr(i.UpdatedParsed, i.PublishedParsed),
|
TS: latestTSPtr(i.UpdatedParsed, i.PublishedParsed),
|
||||||
|
Copyright: copyright,
|
||||||
}
|
}
|
||||||
|
|
||||||
if item.Content == "" {
|
if item.Content == "" {
|
||||||
|
|||||||
4
rss/item_test.go
Normal file → Executable file
4
rss/item_test.go
Normal file → Executable file
@@ -30,12 +30,12 @@ func TestRSSItemNewEncodeDecode(t *testing.T) {
|
|||||||
gofeed.Items[0].Content = ""
|
gofeed.Items[0].Content = ""
|
||||||
gofeed.Items[0].Description = ""
|
gofeed.Items[0].Description = ""
|
||||||
|
|
||||||
item, err := newItem(gofeed.Items[0], ".*")
|
item, err := newItem(gofeed.Items[0], ".*", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
itemB, err := newItem(gofeed.Items[0], "Podcast")
|
itemB, err := newItem(gofeed.Items[0], "Podcast", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
0
rss/rss.go
Normal file → Executable file
0
rss/rss.go
Normal file → Executable file
0
rss/rss_test.go
Normal file → Executable file
0
rss/rss_test.go
Normal file → Executable file
1
rss/serialize.go
Normal file → Executable file
1
rss/serialize.go
Normal file → Executable file
@@ -43,6 +43,7 @@ func WriteFeed(w io.Writer, tag string, items []*Item) error {
|
|||||||
Title: item.Title,
|
Title: item.Title,
|
||||||
Link: &feeds.Link{Href: item.Link},
|
Link: &feeds.Link{Href: item.Link},
|
||||||
Description: item.Content,
|
Description: item.Content,
|
||||||
|
Author: &feeds.Author{Name: item.Copyright},
|
||||||
Created: item.TS,
|
Created: item.TS,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
rss/serialize_test.go
Normal file → Executable file
1
rss/serialize_test.go
Normal file → Executable file
@@ -47,6 +47,7 @@ func TestRSSWriteFeed(t *testing.T) {
|
|||||||
f.ContentFilter = "b"
|
f.ContentFilter = "b"
|
||||||
f.Tags = []string{"c"}
|
f.Tags = []string{"c"}
|
||||||
f.URL = s.URL
|
f.URL = s.URL
|
||||||
|
f.Copyright = "copyright"
|
||||||
|
|
||||||
log.SetOutput(bytes.NewBuffer(nil))
|
log.SetOutput(bytes.NewBuffer(nil))
|
||||||
defer log.SetOutput(os.Stderr)
|
defer log.SetOutput(os.Stderr)
|
||||||
|
|||||||
58
rss/testdata/rss.xml
vendored
Normal file → Executable file
58
rss/testdata/rss.xml
vendored
Normal file → Executable file
@@ -11,6 +11,7 @@
|
|||||||
<itunes:author>Rooster Teeth</itunes:author>
|
<itunes:author>Rooster Teeth</itunes:author>
|
||||||
<itunes:summary>On a weekly basis the Rooster Teeth crew discuss gaming, films, popular culture, the internet, and projects that they're currently working on. Watch LIVE every Monday at 5PM CT on svod.roosterteeth.com. Watch the free video version at YouTube.com/RoosterTeeth.</itunes:summary>
|
<itunes:summary>On a weekly basis the Rooster Teeth crew discuss gaming, films, popular culture, the internet, and projects that they're currently working on. Watch LIVE every Monday at 5PM CT on svod.roosterteeth.com. Watch the free video version at YouTube.com/RoosterTeeth.</itunes:summary>
|
||||||
<description>On a weekly basis the Rooster Teeth crew discuss gaming, films, popular culture, the internet, and projects that they're currently working on. Watch LIVE every Monday at 5PM CT on svod.roosterteeth.com. Watch the free video version at YouTube.com/RoosterTeeth.</description>
|
<description>On a weekly basis the Rooster Teeth crew discuss gaming, films, popular culture, the internet, and projects that they're currently working on. Watch LIVE every Monday at 5PM CT on svod.roosterteeth.com. Watch the free video version at YouTube.com/RoosterTeeth.</description>
|
||||||
|
<content>my content here</content>
|
||||||
<itunes:owner>
|
<itunes:owner>
|
||||||
<itunes:name>Gus Sorola, Rooster Teeth</itunes:name>
|
<itunes:name>Gus Sorola, Rooster Teeth</itunes:name>
|
||||||
<itunes:email>podcast@roosterteeth.com</itunes:email>
|
<itunes:email>podcast@roosterteeth.com</itunes:email>
|
||||||
@@ -24,6 +25,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 18 Jun 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 18 Jun 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Chris Demarais, Blaine Gibson, and Gavin Free as they discuss raditation, toilet paper face, Chris's continued haircuts, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Chris Demarais, Blaine Gibson, and Gavin Free as they discuss raditation, toilet paper face, Chris's continued haircuts, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_549.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_549.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">549</guid>
|
<guid isPermaLink="false">549</guid>
|
||||||
<itunes:duration>01:33:59</itunes:duration>
|
<itunes:duration>01:33:59</itunes:duration>
|
||||||
@@ -35,6 +38,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 11 Jun 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 11 Jun 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Chris Demarais, Barbara Dunkelman, and Geoff Ramsey as they discuss haircuts, old apartments, reality television, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Chris Demarais, Barbara Dunkelman, and Geoff Ramsey as they discuss haircuts, old apartments, reality television, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_548.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_548.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">548</guid>
|
<guid isPermaLink="false">548</guid>
|
||||||
<itunes:duration>01:31:10</itunes:duration>
|
<itunes:duration>01:31:10</itunes:duration>
|
||||||
@@ -46,6 +51,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 04 Jun 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 04 Jun 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Miles Luna, Ellie Main, and Becca Frasier as they discuss Apple’s WWDC event, going to space, school, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Miles Luna, Ellie Main, and Becca Frasier as they discuss Apple’s WWDC event, going to space, school, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_547.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_547.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">547</guid>
|
<guid isPermaLink="false">547</guid>
|
||||||
<itunes:duration>01:36:49</itunes:duration>
|
<itunes:duration>01:36:49</itunes:duration>
|
||||||
@@ -57,6 +64,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 28 May 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 28 May 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Blaine Gibson, and Burnie Burns as they discuss decimation, Chernobyl, recasting the MCU, frumpy Vader and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Blaine Gibson, and Burnie Burns as they discuss decimation, Chernobyl, recasting the MCU, frumpy Vader and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_546.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_546.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">546</guid>
|
<guid isPermaLink="false">546</guid>
|
||||||
<itunes:duration>01:36:13</itunes:duration>
|
<itunes:duration>01:36:13</itunes:duration>
|
||||||
@@ -68,6 +77,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 21 May 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 21 May 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss steaks, sleep apnea, the Game of Thrones finale (in the final 30 minutes), and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss steaks, sleep apnea, the Game of Thrones finale (in the final 30 minutes), and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_545.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_545.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">545</guid>
|
<guid isPermaLink="false">545</guid>
|
||||||
<itunes:duration>01:43:16</itunes:duration>
|
<itunes:duration>01:43:16</itunes:duration>
|
||||||
@@ -79,6 +90,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 14 May 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 14 May 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Barbara Dunkelman, Burnie Burns, and special guest Markiplier as they discuss medical issues, live-streaming, Game of Thrones (in the final 30 minutes), and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Barbara Dunkelman, Burnie Burns, and special guest Markiplier as they discuss medical issues, live-streaming, Game of Thrones (in the final 30 minutes), and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_544.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_544.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">544</guid>
|
<guid isPermaLink="false">544</guid>
|
||||||
<itunes:duration>01:37:03</itunes:duration>
|
<itunes:duration>01:37:03</itunes:duration>
|
||||||
@@ -90,6 +103,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 07 May 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 07 May 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Chris Demarais, Barbara Dunkelman, and Burnie Burns as they discuss VR games, Chris’ car accident, Avengers Endgame (in the final 25 minutes), and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Chris Demarais, Barbara Dunkelman, and Burnie Burns as they discuss VR games, Chris’ car accident, Avengers Endgame (in the final 25 minutes), and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_543.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_543.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">543</guid>
|
<guid isPermaLink="false">543</guid>
|
||||||
<itunes:duration>01:49:39</itunes:duration>
|
<itunes:duration>01:49:39</itunes:duration>
|
||||||
@@ -101,6 +116,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 30 Apr 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 30 Apr 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss horizontal vs vertical videos, cats, Game of Thrones (in the last 15 minutes), and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss horizontal vs vertical videos, cats, Game of Thrones (in the last 15 minutes), and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_542.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_542.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">542</guid>
|
<guid isPermaLink="false">542</guid>
|
||||||
<itunes:duration>01:47:22</itunes:duration>
|
<itunes:duration>01:47:22</itunes:duration>
|
||||||
@@ -112,6 +129,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 23 Apr 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 23 Apr 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, and Jon Risinger as they discuss computer problems, rideshare stories, a weird form of vaping, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, and Jon Risinger as they discuss computer problems, rideshare stories, a weird form of vaping, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_541.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_541.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">541</guid>
|
<guid isPermaLink="false">541</guid>
|
||||||
<itunes:duration>01:37:42</itunes:duration>
|
<itunes:duration>01:37:42</itunes:duration>
|
||||||
@@ -123,6 +142,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 16 Apr 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 16 Apr 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Blaine Gibson as they discuss the world’s biggest plane, black holes, getting your car towed, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Blaine Gibson as they discuss the world’s biggest plane, black holes, getting your car towed, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_540.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_540.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">540</guid>
|
<guid isPermaLink="false">540</guid>
|
||||||
<itunes:duration>01:35:07</itunes:duration>
|
<itunes:duration>01:35:07</itunes:duration>
|
||||||
@@ -134,6 +155,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 09 Apr 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 09 Apr 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Game of Thrones, food poisoning, the American flag, Stuber, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Game of Thrones, food poisoning, the American flag, Stuber, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_539.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_539.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">539</guid>
|
<guid isPermaLink="false">539</guid>
|
||||||
<itunes:duration>01:43:39</itunes:duration>
|
<itunes:duration>01:43:39</itunes:duration>
|
||||||
@@ -145,6 +168,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 02 Apr 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 02 Apr 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Matt Hullum, Gavin Free, Ellie Main, Burnie Burns, and Chad James as they discuss glitter, companies Rooster Teeth has outlasted, timesheets, and more on this week's RT Podcast!</description>
|
<description>Join Matt Hullum, Gavin Free, Ellie Main, Burnie Burns, and Chad James as they discuss glitter, companies Rooster Teeth has outlasted, timesheets, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_538.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_538.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">538</guid>
|
<guid isPermaLink="false">538</guid>
|
||||||
<itunes:duration>01:45:00</itunes:duration>
|
<itunes:duration>01:45:00</itunes:duration>
|
||||||
@@ -156,6 +181,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 26 Mar 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 26 Mar 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Ashley Jenkins, Ellie Main, Barbara Dunkelman, Burnie Burns, and Chad James as they discuss Marvel and DC, stand-up comedy, pregnancy, and more on this week's RT Podcast!</description>
|
<description>Join Ashley Jenkins, Ellie Main, Barbara Dunkelman, Burnie Burns, and Chad James as they discuss Marvel and DC, stand-up comedy, pregnancy, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_537.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_537.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">537</guid>
|
<guid isPermaLink="false">537</guid>
|
||||||
<itunes:duration>01:37:44</itunes:duration>
|
<itunes:duration>01:37:44</itunes:duration>
|
||||||
@@ -167,6 +193,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 19 Mar 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 19 Mar 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman and special guest James Willems as they discuss firework holidays, Benson the dog, failed conventions, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman and special guest James Willems as they discuss firework holidays, Benson the dog, failed conventions, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_536.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_536.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">536</guid>
|
<guid isPermaLink="false">536</guid>
|
||||||
<itunes:duration>01:54:54</itunes:duration>
|
<itunes:duration>01:54:54</itunes:duration>
|
||||||
@@ -178,6 +205,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 12 Mar 2019 19:00:00 +0000</pubDate>
|
<pubDate>Tue, 12 Mar 2019 19:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Burnie Burns, and special guests Rhett and Link as they discuss kolaches, internetainment, the history of the business, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Burnie Burns, and special guests Rhett and Link as they discuss kolaches, internetainment, the history of the business, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_535.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_535.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">535</guid>
|
<guid isPermaLink="false">535</guid>
|
||||||
<itunes:duration>01:36:22</itunes:duration>
|
<itunes:duration>01:36:22</itunes:duration>
|
||||||
@@ -189,6 +217,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 05 Mar 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 05 Mar 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss pancakes, flat-earthers, Fyre Festival, and more on this week's RT Podcast! And be sure to stick around for a special post-show interview with Zachary Levi.</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss pancakes, flat-earthers, Fyre Festival, and more on this week's RT Podcast! And be sure to stick around for a special post-show interview with Zachary Levi.</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_534.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_534.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">534</guid>
|
<guid isPermaLink="false">534</guid>
|
||||||
<itunes:duration>02:10:36</itunes:duration>
|
<itunes:duration>02:10:36</itunes:duration>
|
||||||
@@ -200,6 +229,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 26 Feb 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 26 Feb 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Ellie Main, and Burnie Burns as they discuss s’mores, Brexit, conspiracy theories, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Ellie Main, and Burnie Burns as they discuss s’mores, Brexit, conspiracy theories, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_533.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_533.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">533</guid>
|
<guid isPermaLink="false">533</guid>
|
||||||
<itunes:duration>01:41:56</itunes:duration>
|
<itunes:duration>01:41:56</itunes:duration>
|
||||||
@@ -211,6 +241,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 19 Feb 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 19 Feb 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Apex Legends, printer technology, time zones, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Apex Legends, printer technology, time zones, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_532.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_532.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">532</guid>
|
<guid isPermaLink="false">532</guid>
|
||||||
<itunes:duration>01:35:25</itunes:duration>
|
<itunes:duration>01:35:25</itunes:duration>
|
||||||
@@ -222,6 +253,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 12 Feb 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 12 Feb 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss internet outrage, a Vine quiz, YouTube changes, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss internet outrage, a Vine quiz, YouTube changes, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_531.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_531.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">531</guid>
|
<guid isPermaLink="false">531</guid>
|
||||||
<itunes:duration>01:39:09</itunes:duration>
|
<itunes:duration>01:39:09</itunes:duration>
|
||||||
@@ -233,6 +265,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 05 Feb 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 05 Feb 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Blaine Gibson, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss movie effects and if they hold up, the Marvel Cinematic Universe, Gavin getting shot with a paintball, and more on this week's RT Podcast!</description>
|
<description>Join Blaine Gibson, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss movie effects and if they hold up, the Marvel Cinematic Universe, Gavin getting shot with a paintball, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_530.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_530.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">530</guid>
|
<guid isPermaLink="false">530</guid>
|
||||||
<itunes:duration>01:33:55</itunes:duration>
|
<itunes:duration>01:33:55</itunes:duration>
|
||||||
@@ -244,6 +277,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 29 Jan 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 29 Jan 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Mariel Salcedo, Barbara Dunkelman, and Burnie Burns as they discuss nutmeg heroin, French trailer parks, Glass, and Mariel crying on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Mariel Salcedo, Barbara Dunkelman, and Burnie Burns as they discuss nutmeg heroin, French trailer parks, Glass, and Mariel crying on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_529.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_529.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">529</guid>
|
<guid isPermaLink="false">529</guid>
|
||||||
<itunes:duration>01:32:22</itunes:duration>
|
<itunes:duration>01:32:22</itunes:duration>
|
||||||
@@ -255,6 +289,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 22 Jan 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 22 Jan 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Geoff Ramsey, and Burnie Burns as they discuss Cheez Balls and black coffee, getting old, a bunch of ways to die, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Geoff Ramsey, and Burnie Burns as they discuss Cheez Balls and black coffee, getting old, a bunch of ways to die, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_528.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_528.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">528</guid>
|
<guid isPermaLink="false">528</guid>
|
||||||
<itunes:duration>01:44:59</itunes:duration>
|
<itunes:duration>01:44:59</itunes:duration>
|
||||||
@@ -266,6 +301,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 15 Jan 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 15 Jan 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Chad James, Barbara Dunkelman, and Burnie Burns as they discuss toilet paper, customer service, sunburns, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Chad James, Barbara Dunkelman, and Burnie Burns as they discuss toilet paper, customer service, sunburns, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_527.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_527.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">527</guid>
|
<guid isPermaLink="false">527</guid>
|
||||||
<itunes:duration>01:30:24</itunes:duration>
|
<itunes:duration>01:30:24</itunes:duration>
|
||||||
@@ -277,6 +313,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 08 Jan 2019 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 08 Jan 2019 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Tik Tok, CES 2019, the government shutdown, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss Tik Tok, CES 2019, the government shutdown, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_526.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_526.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">526</guid>
|
<guid isPermaLink="false">526</guid>
|
||||||
<itunes:duration>01:35:08</itunes:duration>
|
<itunes:duration>01:35:08</itunes:duration>
|
||||||
@@ -288,6 +325,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 01 Jan 2019 21:25:00 +0000</pubDate>
|
<pubDate>Tue, 01 Jan 2019 21:25:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola and Gavin Free and even Jack Patillo, along with other special guests as they wrap up 2018 and look ahead to 2019...and Gus has another lost package story.</description>
|
<description>Join Gus Sorola and Gavin Free and even Jack Patillo, along with other special guests as they wrap up 2018 and look ahead to 2019...and Gus has another lost package story.</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_525.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_525.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">525</guid>
|
<guid isPermaLink="false">525</guid>
|
||||||
<itunes:duration>01:27:31</itunes:duration>
|
<itunes:duration>01:27:31</itunes:duration>
|
||||||
@@ -299,6 +337,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 25 Dec 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 25 Dec 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Chris Demarais, Jon Risinger, and Barbara Dunkelman as they discuss Santa Claus, falling down, favorite movies of the year, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Chris Demarais, Jon Risinger, and Barbara Dunkelman as they discuss Santa Claus, falling down, favorite movies of the year, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_524.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_524.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">524</guid>
|
<guid isPermaLink="false">524</guid>
|
||||||
<itunes:duration>01:33:41</itunes:duration>
|
<itunes:duration>01:33:41</itunes:duration>
|
||||||
@@ -310,6 +349,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 18 Dec 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 18 Dec 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Blaine Gibson, Barbara Dunkelman, and Burnie Burns as they discuss the Licki cat brush, the RT holiday party, best movies of the year, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Blaine Gibson, Barbara Dunkelman, and Burnie Burns as they discuss the Licki cat brush, the RT holiday party, best movies of the year, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_523.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_523.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">523</guid>
|
<guid isPermaLink="false">523</guid>
|
||||||
<itunes:duration>01:36:34</itunes:duration>
|
<itunes:duration>01:36:34</itunes:duration>
|
||||||
@@ -321,6 +361,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 11 Dec 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 11 Dec 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss ten years of the podcast, bets, YouTube Rewind, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, and Burnie Burns as they discuss ten years of the podcast, bets, YouTube Rewind, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_522.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_522.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">522</guid>
|
<guid isPermaLink="false">522</guid>
|
||||||
<itunes:duration>01:35:10</itunes:duration>
|
<itunes:duration>01:35:10</itunes:duration>
|
||||||
@@ -332,6 +373,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 04 Dec 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 04 Dec 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, Burnie Burns, and special guest Grace Helbig as they discuss cats, hang gliding gone wrong, Tumblr banning adult content, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Barbara Dunkelman, Burnie Burns, and special guest Grace Helbig as they discuss cats, hang gliding gone wrong, Tumblr banning adult content, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_521.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_521.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">521</guid>
|
<guid isPermaLink="false">521</guid>
|
||||||
<itunes:duration>01:33:55</itunes:duration>
|
<itunes:duration>01:33:55</itunes:duration>
|
||||||
@@ -343,6 +385,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 27 Nov 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 27 Nov 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Geoff Ramsey, and Burnie Burns as they discuss the post office, coming up with names and titles, ghosts, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Geoff Ramsey, and Burnie Burns as they discuss the post office, coming up with names and titles, ghosts, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_520.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_520.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">520</guid>
|
<guid isPermaLink="false">520</guid>
|
||||||
<itunes:duration>01:30:27</itunes:duration>
|
<itunes:duration>01:30:27</itunes:duration>
|
||||||
@@ -354,6 +397,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 20 Nov 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 20 Nov 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Chris Demarais, and Burnie Burns as they discuss the Gus calendar, the Star Wars movies, circumcision, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Chris Demarais, and Burnie Burns as they discuss the Gus calendar, the Star Wars movies, circumcision, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_519.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_519.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">519</guid>
|
<guid isPermaLink="false">519</guid>
|
||||||
<itunes:duration>01:34:45</itunes:duration>
|
<itunes:duration>01:34:45</itunes:duration>
|
||||||
@@ -365,6 +409,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 13 Nov 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 13 Nov 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Gavin Free, Blaine Gibson, Burnie Burns, and special guest Sally Le Page as they discuss Extra Life aftermath, plane stories, cats, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Gavin Free, Blaine Gibson, Burnie Burns, and special guest Sally Le Page as they discuss Extra Life aftermath, plane stories, cats, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_518.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_518.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">518</guid>
|
<guid isPermaLink="false">518</guid>
|
||||||
<itunes:duration>01:39:31</itunes:duration>
|
<itunes:duration>01:39:31</itunes:duration>
|
||||||
@@ -376,6 +421,7 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 06 Nov 2018 20:00:00 +0000</pubDate>
|
<pubDate>Tue, 06 Nov 2018 20:00:00 +0000</pubDate>
|
||||||
<description>Join Gus Sorola, Becca Frasier, Barbara Dunkelman, and Jon Risinger as they discuss voting, documentaries, mall Santas, and more on this week's RT Podcast!</description>
|
<description>Join Gus Sorola, Becca Frasier, Barbara Dunkelman, and Jon Risinger as they discuss voting, documentaries, mall Santas, and more on this week's RT Podcast!</description>
|
||||||
|
<content>my content here</content>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_517.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/roosterteethpodcast/Rooster_Teeth_Podcast_517.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">517</guid>
|
<guid isPermaLink="false">517</guid>
|
||||||
<itunes:duration>01:32:43</itunes:duration>
|
<itunes:duration>01:32:43</itunes:duration>
|
||||||
@@ -5997,6 +6043,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Wed, 29 Aug 2012 15:18:32 +0000</pubDate>
|
<pubDate>Wed, 29 Aug 2012 15:18:32 +0000</pubDate>
|
||||||
<description>RT farts on Gavin</description>
|
<description>RT farts on Gavin</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_181.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_181.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">181</guid>
|
<guid isPermaLink="false">181</guid>
|
||||||
<itunes:duration>00:00:00</itunes:duration>
|
<itunes:duration>00:00:00</itunes:duration>
|
||||||
@@ -6008,6 +6056,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Wed, 05 Sep 2012 22:38:48 +0000</pubDate>
|
<pubDate>Wed, 05 Sep 2012 22:38:48 +0000</pubDate>
|
||||||
<description>RT does not know emotion.</description>
|
<description>RT does not know emotion.</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_182.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_182.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">182</guid>
|
<guid isPermaLink="false">182</guid>
|
||||||
<itunes:duration>00:00:00</itunes:duration>
|
<itunes:duration>00:00:00</itunes:duration>
|
||||||
@@ -6019,6 +6069,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Wed, 12 Sep 2012 15:59:03 +0000</pubDate>
|
<pubDate>Wed, 12 Sep 2012 15:59:03 +0000</pubDate>
|
||||||
<description>RT sits down with Hannah Hart and Shira Lazar!</description>
|
<description>RT sits down with Hannah Hart and Shira Lazar!</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_183.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_183.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">183</guid>
|
<guid isPermaLink="false">183</guid>
|
||||||
<itunes:duration>00:00:00</itunes:duration>
|
<itunes:duration>00:00:00</itunes:duration>
|
||||||
@@ -6030,6 +6082,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Wed, 19 Sep 2012 15:44:51 +0000</pubDate>
|
<pubDate>Wed, 19 Sep 2012 15:44:51 +0000</pubDate>
|
||||||
<description>RT does not wear seat belts in taxis.</description>
|
<description>RT does not wear seat belts in taxis.</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_184.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_184.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">184</guid>
|
<guid isPermaLink="false">184</guid>
|
||||||
<itunes:duration>00:00:00</itunes:duration>
|
<itunes:duration>00:00:00</itunes:duration>
|
||||||
@@ -6041,6 +6095,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 19 Nov 2013 22:55:27 +0000</pubDate>
|
<pubDate>Tue, 19 Nov 2013 22:55:27 +0000</pubDate>
|
||||||
<description>RT Discusses Wild Videos</description>
|
<description>RT Discusses Wild Videos</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_245.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_245.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">245</guid>
|
<guid isPermaLink="false">245</guid>
|
||||||
<itunes:duration>01:35:28</itunes:duration>
|
<itunes:duration>01:35:28</itunes:duration>
|
||||||
@@ -6052,6 +6108,8 @@
|
|||||||
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
<itunes:author>Rooster Teeth Podcast</itunes:author>
|
||||||
<pubDate>Tue, 30 Dec 2014 19:54:50 +0000</pubDate>
|
<pubDate>Tue, 30 Dec 2014 19:54:50 +0000</pubDate>
|
||||||
<description>RT Discusses ASMR Triggers</description>
|
<description>RT Discusses ASMR Triggers</description>
|
||||||
|
<content>my content here</content>
|
||||||
|
<copyright>my copyright here</copyright>
|
||||||
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_304.mp3" type="audio/mpeg" />
|
<enclosure url="http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/rtpodcast/Rooster_Teeth_Podcast_304.mp3" type="audio/mpeg" />
|
||||||
<guid isPermaLink="false">304</guid>
|
<guid isPermaLink="false">304</guid>
|
||||||
<itunes:duration>01:40:02</itunes:duration>
|
<itunes:duration>01:40:02</itunes:duration>
|
||||||
|
|||||||
0
server/new.go
Normal file → Executable file
0
server/new.go
Normal file → Executable file
0
server/new_test.go
Normal file → Executable file
0
server/new_test.go
Normal file → Executable file
9
server/routes.go
Normal file → Executable file
9
server/routes.go
Normal file → Executable file
@@ -9,6 +9,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -50,6 +51,10 @@ func (s *Server) tag(w http.ResponseWriter, r *http.Request) {
|
|||||||
s.notFound(w, r)
|
s.notFound(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
limit, err := strconv.Atoi(r.URL.Query().Get("n"))
|
||||||
|
if err != nil {
|
||||||
|
limit = 20
|
||||||
|
}
|
||||||
tag := regexp.MustCompile("^.*\\/").ReplaceAllString(r.URL.Path, "")
|
tag := regexp.MustCompile("^.*\\/").ReplaceAllString(r.URL.Path, "")
|
||||||
feeds, err := rss.TaggedFeeds(tag)
|
feeds, err := rss.TaggedFeeds(tag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -58,7 +63,7 @@ func (s *Server) tag(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
items := []*rss.Item{}
|
items := []*rss.Item{}
|
||||||
for _, feed := range feeds {
|
for _, feed := range feeds {
|
||||||
feedItems, err := feed.Items(20)
|
feedItems, err := feed.Items(limit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.error(w, r, err)
|
s.error(w, r, err)
|
||||||
}
|
}
|
||||||
@@ -79,6 +84,7 @@ func (s *Server) feed(w http.ResponseWriter, r *http.Request) {
|
|||||||
URL string `json:"url"`
|
URL string `json:"url"`
|
||||||
Interval string `json:"refresh"`
|
Interval string `json:"refresh"`
|
||||||
TitleFilter string `json:"items"`
|
TitleFilter string `json:"items"`
|
||||||
|
Copyright string `json:"copyright"`
|
||||||
ContentFilter string `json:"content"`
|
ContentFilter string `json:"content"`
|
||||||
Tags []string `json:"tags"`
|
Tags []string `json:"tags"`
|
||||||
}
|
}
|
||||||
@@ -97,6 +103,7 @@ func (s *Server) feed(w http.ResponseWriter, r *http.Request) {
|
|||||||
TitleFilter: putFeed.TitleFilter,
|
TitleFilter: putFeed.TitleFilter,
|
||||||
ContentFilter: putFeed.ContentFilter,
|
ContentFilter: putFeed.ContentFilter,
|
||||||
Tags: putFeed.Tags,
|
Tags: putFeed.Tags,
|
||||||
|
Copyright: putFeed.Copyright,
|
||||||
}
|
}
|
||||||
if err := rss.SubmitFeed(f); err != nil {
|
if err := rss.SubmitFeed(f); err != nil {
|
||||||
s.error(w, r, err)
|
s.error(w, r, err)
|
||||||
|
|||||||
0
server/routes_test.go
Normal file → Executable file
0
server/routes_test.go
Normal file → Executable file
0
server/server.go
Normal file → Executable file
0
server/server.go
Normal file → Executable file
0
server/server_test.go
Normal file → Executable file
0
server/server_test.go
Normal file → Executable file
0
vendor/vendor.json
vendored
Normal file → Executable file
0
vendor/vendor.json
vendored
Normal file → Executable file
Reference in New Issue
Block a user