Пример #1
0
func itmify(o *rss.Item, ch *rss.Channel) Itm {
	var x Itm
	x.Title = o.Title
	x.Links = o.Links
	x.ChannelKey = ch.Key()
	x.Description = o.Description
	x.Author = o.Author
	x.Categories = o.Categories
	x.Comments = o.Comments
	x.Enclosures = o.Enclosures
	x.Guid = o.Guid
	x.PubDate = o.PubDate
	x.Id = o.Id
	x.Key = o.Key()
	x.Generator = o.Generator
	x.Contributors = o.Contributors
	x.Content = o.Content
	x.Extensions = o.Extensions
	x.Date, _ = o.ParsedPubDate()

	if o.Content != nil && o.Content.Text != "" {
		x.FullContent = o.Content.Text
	} else {
		x.FullContent = o.Description
	}

	return x
}
Пример #2
0
func itemHandler(feed *rss.Feed, ch *rss.Channel, newitems []*rss.Item) {
	for _, item := range newitems {
		var f Feed
		var i Item

		f.Title = ch.Key()
		f.Description = ch.Description
		f.Url = ch.Links[0].Href

		i.Title = item.Title
		i.Key = item.Key()
		i.PubDate = item.PubDate
		i.Description = item.Description
		i.Url = item.Links[0].Href
		insertSQL(f, i)
	}

}
Пример #3
0
func itemHandler(feed *rss.Feed, ch *rss.Channel, newitems []*rss.Item) {

	logger.Debug.Println(strconv.Itoa(len(newitems)) + " available episodes for " + ch.Title)
	logger.Debug.Println("Channel : ", ch)
	if ch.Title == "" {
		if ch.Author.Name != "" {
			ch.Title = ch.Author.Name
		} else if ch.Description != "" {
			ch.Title = ch.Description
		} else {
			ch.Title = extractResourceNameFromURL(feed.Url)
		}

		logger.Warning.Println("Missing podcast title in the feed, this replacement will be used : " + ch.Title)

	}

	podcast := NewPodcast(targetFolder, ch)
	podcast.fetchNewEpisodes(newitems)
}
Пример #4
0
func chnlify(url string, o *rss.Channel) Chnl {
	var x Chnl
	x.ObjectId = url
	x.Key = o.Key()
	x.Title = o.Title
	x.Links = o.Links
	x.Description = o.Description
	x.Language = o.Language
	x.Copyright = o.Copyright
	x.ManagingEditor = o.ManagingEditor
	x.WebMaster = o.WebMaster
	x.PubDate = o.PubDate
	x.LastBuildDate = o.LastBuildDate
	x.Docs = o.Docs
	x.Categories = o.Categories
	x.Generator = o.Generator
	x.TTL = o.TTL
	x.Rating = o.Rating
	x.SkipHours = o.SkipHours
	x.SkipDays = o.SkipDays
	x.Image = o.Image
	x.Cloud = o.Cloud
	x.TextInput = o.TextInput
	x.Extensions = o.Extensions
	x.Id = o.Id
	x.Rights = o.Rights
	x.Author = o.Author
	x.SubTitle = o.SubTitle

	var keys []string
	for _, y := range o.Items {
		keys = append(keys, y.Key())
	}
	x.ItemKeys = keys

	return x
}