reworked the config handling
authorTilman Sauerbeck <tilman@code-monkey.de>
Sun, 21 May 2006 14:46:52 +0000 (16:46 +0200)
committerTilman Sauerbeck <tilman@code-monkey.de>
Sun, 21 May 2006 14:46:52 +0000 (16:46 +0200)
bin/embrace
lib/embrace/imap.rb

index f9d00c047afd82af3d6c8d2d9b0a498c01fc61e1..c657e7d6e3fc24166a654b592505e88bba3d8eb3 100755 (executable)
@@ -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
index 637eb7f26c645b4bc877ca2dd17ad4b126410322..a315a81c2de0f9fbaaad6374572521d6ebd60b37 100644 (file)
@@ -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