summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/feed2imap2
-rw-r--r--lib/feed2imap/config.rb3
-rw-r--r--lib/feed2imap/feed2imap.rb5
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