]> git.cworth.org Git - sup/commitdiff
more imap and ssh bugfixes
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 31 Dec 2006 22:50:33 +0000 (22:50 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 31 Dec 2006 22:50:33 +0000 (22:50 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@134 5c8cc53c-5e98-4d25-b20a-d8db53a31250

bin/sup
lib/sup/imap.rb
lib/sup/mbox/ssh-loader.rb
lib/sup/source.rb

diff --git a/bin/sup b/bin/sup
index f4fafb9fc96cb52524ffb67a4cc97876a3d2fa7c..4cc1ecf90285253a20fc296f7267343fe0de8fe3 100644 (file)
--- a/bin/sup
+++ b/bin/sup
@@ -115,8 +115,8 @@ begin
   bm.draw_screen
   imode.load_more_threads ibuf.content_height
 
-  reporting_thread { sleep 3; PollManager.poll }
-  PollManager.start_thread
+  reporting_thread { sleep 3; PollManager.poll }
+  #PollManager.start_thread
 
   until $exception
     bm.draw_screen
index 289820abd78c95c1f02c7ce80547769902b64a0d..d1c6b04a67a114d5a932dcafdd79840e58e649ae 100644 (file)
@@ -86,7 +86,7 @@ class IMAP < Source
 
         values.each do |v|
           msize, mdate = v.attr['RFC822.SIZE'], Time.parse(v.attr["INTERNALDATE"])
-          id = sprintf("%d.%08d", mdate.to_i, msize)
+          id = sprintf("%d.%07d", mdate.to_i, msize).to_i
           @ids << id
           @imap_ids[id] = v.seqno
         end
index 5b697a8de7ad7d1c45fa84fc835bba0896d6e1cf..bfbce0e7a471daaeca453c41c9e3e8869a011f07 100644 (file)
@@ -15,6 +15,7 @@ class SSHLoader < Source
     @username = username
     @password = password
     @uri = uri
+    @cur_offset = start_offset
 
     opts = {}
     opts[:username] = @username if @username
@@ -33,7 +34,12 @@ class SSHLoader < Source
   def host; @parsed_uri.host; end
   def filename; @parsed_uri.path[1..-1] end ##XXXX TODO handle nil
 
-  def next; with(@loader.next) { @cur_offset = @loader.cur_offset }; end # only necessary because YAML is a PITA
+  def next
+    offset, labels = @loader.next
+    self.cur_offset = @loader.cur_offset  # only necessary because YAML is a PITA
+    [offset, (labels + @labels).uniq]
+  end
+
   def end_offset; @f.size; end
   def cur_offset= o; @cur_offset = @loader.cur_offset = o; @dirty = true; end
   def id; @loader.id; end
index 87925dbed2128627d80106ca8d770e547f12f8fd..0f91cde24845a064a7493fb99415c2329188800d 100644 (file)
@@ -51,7 +51,7 @@ class Source
   def done?;
     return true if broken? 
     begin
-      (cur_offset ||= start_offset) >= end_offset
+      (self.cur_offset ||= start_offset) >= end_offset
     rescue SourceError => e
       true
     end
@@ -71,6 +71,8 @@ class Source
     end
   end
 
+protected
+  
   def cur_offset= o
     @cur_offset = o
     @dirty = true