Fix planet feed reader script

This commit is contained in:
Stefan Schlott 2016-03-22 10:45:02 +01:00
parent d7f6b0e503
commit 18ef9d106d

View file

@ -7,6 +7,7 @@ require 'bundler/setup'
require 'yaml'
require 'feedjira'
def getBlogroll(blogroll_file)
blogroll_raw = YAML.load_file(blogroll_file)
blogroll = { }
@ -33,22 +34,28 @@ blogroll = getBlogroll(blogroll_file)
posturls = blogposts['blogposts'].map { |post| post['url'] }
# Read feed
feeds = Feedjira::Feed.fetch_and_parse(blogroll.keys)
#feeds = blogroll.keys.map { |url| Feedjira::Feed.fetch_and_parse(url) }
# Add feed data
feeds.each do |feed,data|
data.entries.each do |posting|
# Read feeds, add feed data
blogroll.keys.each do |url|
begin
f = Feedjira::Feed.fetch_and_parse(url)
f.entries.each do |posting|
if !posturls.include?(posting.url)
postdata = { }
postdata['user'] = blogroll[feed]
postdata['user'] = blogroll[url]
postdata['date'] = posting.published
postdata['title'] = posting.title
postdata['url'] = posting.url
blogposts['blogposts'] << postdata
end
end
rescue StandardError => err
puts "Unable to parse #{url}: #{err}"
end
end
# Sort, limit list
blogposts['blogposts'].sort! do |a,b|
if (b['date'] <=> a['date'])==0