From 38ef22e4e5191f2b72ca33bba41557dd79e55a33 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 2 Oct 2017 15:10:07 +0200 Subject: [PATCH] Improved error handling of channel streaming. --- app/models/channel.rb | 3 ++- app/models/channel/driver/imap.rb | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/models/channel.rb b/app/models/channel.rb index 6b55defd8..448b1d7a5 100644 --- a/app/models/channel.rb +++ b/app/models/channel.rb @@ -142,7 +142,8 @@ stream all accounts current_channels = [] channels = Channel.where('active = ? AND area LIKE ?', true, '%::Account') channels.each do |channel| - adapter = channel.options[:adapter] + adapter = channel.options[:adapter] + next if adapter.blank? driver_class = Object.const_get("Channel::Driver::#{adapter.to_classname}") next if !driver_class.respond_to?(:streamable?) next if !driver_class.streamable? diff --git a/app/models/channel/driver/imap.rb b/app/models/channel/driver/imap.rb index 344b971b9..2318b9339 100644 --- a/app/models/channel/driver/imap.rb +++ b/app/models/channel/driver/imap.rb @@ -60,7 +60,7 @@ example =end - def fetch (options, channel, check_type = '', verify_string = '') + def fetch(options, channel, check_type = '', verify_string = '') ssl = true port = 993 keep_on_server = false @@ -224,6 +224,20 @@ example @imap.disconnect() end +=begin + + Channel::Driver::Imap.streamable? + +returns + + true|false + +=end + + def self.streamable? + false + end + private def already_imported?(message_id, message_meta, count, count_all, keep_on_server)