Added description and a way to save and restore the RSS feed.
This commit is contained in:
		@@ -1,19 +1,21 @@
 | 
			
		||||
package feed
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/gob"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/gorilla/feeds"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type Feed struct {
 | 
			
		||||
	*feeds.Feed
 | 
			
		||||
	feeds.Feed
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewFeed(title, link, desc string) Feed {
 | 
			
		||||
	return Feed{
 | 
			
		||||
		Feed: &feeds.Feed{
 | 
			
		||||
func NewFeed(title, link, desc string) *Feed {
 | 
			
		||||
	return &Feed{
 | 
			
		||||
		Feed: feeds.Feed{
 | 
			
		||||
			Title:       title,
 | 
			
		||||
			Link:        &feeds.Link{Href: link},
 | 
			
		||||
			Description: desc,
 | 
			
		||||
@@ -21,11 +23,40 @@ func NewFeed(title, link, desc string) Feed {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AddToFeed(feed Feed, title, content string) error {
 | 
			
		||||
func SaveFeed(feed *Feed, filename string) error {
 | 
			
		||||
	file, err := os.Create(filename)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("error cmd/feed/rss.go WriteFeed os.Create(): %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	defer file.Close()
 | 
			
		||||
 | 
			
		||||
	encoder := gob.NewEncoder(file)
 | 
			
		||||
	encoder.Encode(feed)
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func OpenFeed(filename string) (*Feed, error) {
 | 
			
		||||
	var feed *Feed
 | 
			
		||||
 | 
			
		||||
	file, err := os.Open(filename)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error cmd/feed/rss.go ReadFeed os.Open(): %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	defer file.Close()
 | 
			
		||||
 | 
			
		||||
	decoder := gob.NewDecoder(file)
 | 
			
		||||
	decoder.Decode(feed)
 | 
			
		||||
 | 
			
		||||
	return feed, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AddToFeed(feed *Feed, title, desc, content string) error {
 | 
			
		||||
	item := feeds.Item{
 | 
			
		||||
		Title:   title,
 | 
			
		||||
		Created: time.Now(),
 | 
			
		||||
		Content: content,
 | 
			
		||||
		Title:       title,
 | 
			
		||||
		Created:     time.Now(),
 | 
			
		||||
		Description: desc,
 | 
			
		||||
		Content:     content,
 | 
			
		||||
	}
 | 
			
		||||
	feed.Add(&item)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user