class Myredditnews::App
Public Instance Methods
fetch_sources()
click to toggle source
# File lib/myredditnews.rb, line 237 def fetch_sources sources = {} @sources.each do |source| begin sources[source] = source.fetch rescue FeedFetchingError => e $logger.info("Could not fetch feed #{source.source}. Reason:") $logger.info("Exception: #{e.message}. Backtrace:") $logger.info(e.parent.backtrace.drop(1).map {|s| "\t#{s}"}.join("\n")) end end sources end
only_new(submissions)
click to toggle source
# File lib/myredditnews.rb, line 234 def only_new submissions @history.filter(submissions) end
sync()
click to toggle source
# File lib/myredditnews.rb, line 208 def sync $logger.info("Mode: dry = #{Myredditnews.dry}") reddit = Snoo::Client.new(useragent: useragent) $logger.info("Logging in with #{@username}") reddit.log_in @username, @password total = 0 fetch_sources().each do |source, submissions| only_new(submissions).each do |submission| begin source.format(submission).submit(reddit, @target_subreddit) @history.posted! submission total += 1 rescue RedditError => e puts "Error submitting #{submission}" puts "Reason: #{e.message}" rescue => e puts "Failed submitting #{submission}" puts "Message: #{e.message}" puts e.backtrace end end end $logger.info("Sent #{total} entries to r/#{@target_subreddit}") reddit.log_out history.append_entries! end