diff options
-rwxr-xr-x | bin/feed2imap | 2 | ||||
-rw-r--r-- | lib/feed2imap/config.rb | 3 | ||||
-rw-r--r-- | lib/feed2imap/feed2imap.rb | 5 |
3 files changed, 8 insertions, 2 deletions
diff --git a/bin/feed2imap b/bin/feed2imap index e0a668f..06a6853 100755 --- a/bin/feed2imap +++ b/bin/feed2imap @@ -1,4 +1,4 @@ -#!/usr/bin/ruby -w +#!/usr/bin/ruby $:.unshift File.join(File.dirname(__FILE__), '..', 'lib') diff --git a/lib/feed2imap/config.rb b/lib/feed2imap/config.rb index 8129fd2..002db3e 100644 --- a/lib/feed2imap/config.rb +++ b/lib/feed2imap/config.rb @@ -26,13 +26,14 @@ DEFCACHE = ENV['HOME'] + '/.feed2imap.cache' # Feed2imap configuration class F2IConfig - attr_reader :imap_accounts, :cache, :feeds + attr_reader :imap_accounts, :cache, :feeds, :dumpdir # Load the configuration from the IO stream # TODO should do some sanity check on the data read. def initialize(io) @conf = YAML::load(io) @cache = @conf['cache'] || DEFCACHE + @dumpdir = @conf['dumpdir'] || nil @conf['feeds'] ||= [] @feeds = [] @imap_accounts = ImapAccounts::new diff --git a/lib/feed2imap/feed2imap.rb b/lib/feed2imap/feed2imap.rb index a9a2c59..92cab8f 100644 --- a/lib/feed2imap/feed2imap.rb +++ b/lib/feed2imap/feed2imap.rb @@ -81,6 +81,11 @@ class Feed2Imap end begin body = HTTPFetcher::fetch(f.url, @cache.get_last_check(f.name)) + # dump if requested + if @config.dumpdir + fname = @config.dumpdir + '/' + f.name + '-' + Time::now.xmlschema + File::open(fname, 'w') { |file| file.puts body } + end rescue Timeout::Error @logger.fatal("Timeout::Error while fetching #{f.url}: #{$!}") next |