commit fb594269a38f54fec7de3b0df173f964e04a229f
parent 0964ab9efbca6ba040abe8f156f6a4235d581cc5
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Sun, 31 Dec 2006 22:50:33 +0000
more imap and ssh bugfixes
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@134 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
4 files changed, 13 insertions(+), 5 deletions(-)
diff --git 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
diff --git a/lib/sup/imap.rb b/lib/sup/imap.rb
@@ -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
diff --git a/lib/sup/mbox/ssh-loader.rb b/lib/sup/mbox/ssh-loader.rb
@@ -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
diff --git a/lib/sup/source.rb b/lib/sup/source.rb
@@ -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