From 51ce043e8007319aae5b7eccffb85a060bb94bda Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Sun, 21 May 2006 16:46:52 +0200 Subject: [PATCH] reworked the config handling --- bin/embrace | 29 ++++------------------------- lib/embrace/imap.rb | 15 ++++++++------- 2 files changed, 12 insertions(+), 32 deletions(-) diff --git a/bin/embrace b/bin/embrace index f9d00c0..c657e7d 100755 --- a/bin/embrace +++ b/bin/embrace @@ -367,6 +367,9 @@ module Embrace &method(:on_finished)) ] + s = File.expand_path("~/.e/apps/embrace/config.yaml") + @config = YAML.load(File.read(s)) + @server = nil @timer = Ecore::Timer.new(30, &method(:on_timer)) on_timer @@ -388,31 +391,7 @@ module Embrace def on_timer return unless @server.nil? - mboxes = %w{ - INBOX - Lists.ba-2005 - Lists.blackbox-devel - Lists.clc-devel - Lists.crux - Lists.cruxcon - Lists.dri-devel - Lists.dri-users - Lists.enlightenment-cvs - Lists.enlightenment-devel - Lists.hobix - Lists.mesa3d-dev - Lists.ruby-core - Lists.rubygems-devel - Lists.vim-ruby-devel - Lists.xmms2-devel - Lists.xorg - } - - s = File.expand_path("~/.e/apps/embrace/config.yaml") - - File.open(s) do |f| - @server = IMAP::Session.new(YAML.load(f), mboxes) - end + @server = IMAP::Session.new(@config) true end diff --git a/lib/embrace/imap.rb b/lib/embrace/imap.rb index 637eb7f..a315a81 100644 --- a/lib/embrace/imap.rb +++ b/lib/embrace/imap.rb @@ -37,21 +37,22 @@ module Embrace::IMAP class Session attr_reader :connection - def initialize(server_info, mboxes) - @server_info = server_info + def initialize(config) + @login = config[:server][:login] + @password = config[:server][:password] flags = 2 - flags |= 16 if @server_info.use_ssl + flags |= 16 if config[:server][:use_ssl] @connection = Ecore::Con::Server.new(flags, - @server_info[:host], - @server_info[:port]) + config[:server][:host], + config[:server][:port]) @buffer = "" @tag_id = 0 @requests = [] - @mboxes = mboxes.dup + @mboxes = config[:mailboxes].dup @state = :disconnected @handlers = [ @@ -122,7 +123,7 @@ end handle_response(Response.deserialize(line)) if @state == :connected - login(@server_info[:login], @server_info[:password]) + login(@login, @password) end end -- 2.30.2